方式一:
在AWS上建立完你的主機後,先把 .pem 檔保留好,
接下來可以使用以下指令,透過 .pem 檔進行登入
ssh -i ~/路徑/密鑰名稱.pem ec2-user@IP
MacBook-Pro % ssh -i server-key.pem ec2-user@1.31.37.203 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: UNPROTECTED PRIVATE KEY FILE! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Permissions 0644 for 'server-key.pem' are too open. It is required that your private key files are NOT accessible by others. This private key will be ignored. Load key "server-key.pem": bad permissions ec2-user@1.31.37.203: Permission denied (publickey).
如果出現 Permissions 0644 for pet are too open.
代表你的pem權限開太高了,需要將pem的權限改為 0600 (Owner 可進行讀、寫,其它用戶則不能使用讀、寫、執行的權限)
MacBook-Pro % sudo chmod 600 server-key.pem
方式二:
在 AWS 開 Linux EC2 後預設的登入方式
- 必須用 .pem 轉 .ppk 後使用 putty 登入
- 只能用 user 帳號 ec2-user 登入
- 登入後僅 user 權限, root 權限指令需加 sudo 從 user 權限切換到 root 權限
完成方式一或二後如需要改成,免ppk 檔登入方式,流程如下:
先將權限改成 root,這邊再設定你的root 新的密碼
[root@ip-1-31-37-203 ~]# sudo su [root@ip-1-31-37-203 ~]# passwd root Changing password for user root. New password: Retype new password: passwd: all authentication tokens updated successfully.
接下來,修改 sshd_config 檔
[root@ip-1-31-37-203 ~]# vi /etc/ssh/sshd_config
修改
- PermitRootLogin (修改 ssh 允許可使用 root 帳號登入)
- PasswordAuthentication (修改 ssh 登入時 root 可不使用 .ppk 檔)
30 # Logging 31 #SyslogFacility AUTH 32 SyslogFacility AUTHPRIV 33 #LogLevel INFO 34 35 # Authentication: 36 37 #LoginGraceTime 2m 38 PermitRootLogin yes #(將 no 改成 yes ) 39 #StrictModes yes 40 #MaxAuthTries 6 41 #MaxSessions 10 ... ... ... 60 #IgnoreRhosts yes 61 62 # To disable tunneled clear text passwords, change to no here! 63 PasswordAuthentication yes #(拿掉註解) 64 #PermitEmptyPasswords no 65 #PasswordAuthentication no #(此段註解) 66 67 # Change to no to disable s/key passwords
重新啟動 sshd
[root@ip-1-31-37-203 ~]# service sshd restart Redirecting to /bin/systemctl restart sshd.service
修改 authorized_keys 登入後的提示文字
[root@ip-1-31-37-203 ~]# vi /root/.ssh/authorized_keys
將 command=”echo ‘Please login as the user \”ec2-user\” rather than the user \”root\”.’;echo;sleep 10″ 移除
no-port-forwarding,no-agent-forwarding,no-X11-forwarding,command="echo 'Please login as the user \"ec2-user\" rather than the user \"root\".';echo;sleep 10" ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABEAQC/HppD0JH//gslIHrVa2Ro9J/6mm5FLWT6iTiZZ6bTO7Z56DCCMVPMmvGbfGfpu9mJiqyFgnj8Qib8UIi7o+qbIxLwhsXCC2RJE844xmDGKxdrzomvAcBwOCQcjT1fW1SpAAeNDBLCVmDwbyYSsiEoCreIag4lApnbFl/gJJR3k3yJ6KrSa3vM+EJj2OYWYhnWX8Xm17xLTqhe5E7+WASu/ZJ02/cK1E29asUeNDD+auO2hVbtQX5vAQKxquVWKiINkNMoesSy5tYnQGD2z0wyT72Qf+35MQMzTC5n/qwF8yiXvMUKWQmNafBdj9FBOz3tzdmVdrwCK4lYqmi00Dw0zp name-function~
重新啟動 sshd
[root@ip-1-31-37-203 ~]# service sshd restart Redirecting to /bin/systemctl restart sshd.service
之後使用 root 登入時, 若配合 .ppk 則可直接登入, 若無配合則可輸入 root 密碼