SSH(Secure Shell)是一種能夠提供安全遠程登錄會話的協議,使用ssh可以在遠程linux中執行命令。
sshd服務提供兩種安全驗證的方法:
(1)基於口令的安全驗證:經過驗證帳號與密碼即可登錄到遠程主機
(2)基於密鑰的安全驗證:需要在本地生成“密鑰對”后將公鑰傳輸至服務器,進行公共密鑰的比較
1. sshd服務的重要配置
cat /etc/ssh/sshd_config
#Port 22 #ListenAddress 0.0.0.0 #Protocol 2 //ssh協議的版本號 #HostKey /etc/ssh/ssh_host_key // SSH協議版本號為1時,私鑰存放的位置 #HostKey /etc/ssh/ssh_host_rsa_key // SSH協議版本號為2時,RSA私鑰存放的位置 #HostKey /etc/ssh/ssh_host_dsa_key // SSH協議版本號為2時,DSA私鑰存放的位置 #PermitRootLogin // 設置是否允許root用戶直接登錄 #StrictModes yes // 當遠程私鑰改變時直接拒絕鏈接 #MaxSessions 10 // 最大終端數 #MaxAuthTries 6 // 最大密碼嘗試次數
注意:每次修改配置文件后都應該執行
systemctl start sshd
systemctl enable sshd
2. 密碼驗證登錄
# ssh 遠程服務器IP
# yes
# 輸入密碼
# ok

3. 密鑰驗證登錄
(1)在本地主機生成“密鑰對”,並將共鑰傳輸到遠程主機中
#ssh-keygen
#ssh-cop-id ip


(2)在遠程主機中修改sshd服務的配置文件並重啟服務
$PasswordAuthentication no
$PubkeyAuthentication yes
$systemctl start sshd
$systemctl enable sshd
(3)接下來就可以無密碼遠程主機了
ssh ip
特別注意:cd ~/.sh目錄
