SSH配置免密登錄
【參考文章】:linux服務器ssh免密碼登錄
【參考文章】:ssh分發秘鑰時出現錯誤“Permission denied (publickey,gssapi-keyex,gssapi-with-mic)”
【參考文章】:ssh免密碼登錄Permission denied (publickey,gssapi-keyex,gssapi-with-mic) 的解決方案!
【參考文章】:ssh配置無密碼登錄
1. 生成服務器的公鑰和私鑰文件
輸入命令:ssh-keygen -t rsa
提示輸入點擊回車,直到文件生成;
默認生成的文件在 ~/.ssh 目錄下;
.ssh 文件夾為隱藏文件, ls -a 即可顯示全部文件;
2. 將公鑰文件內容追加到authorized_keys 文件
如果沒有 authorized_keys 文件,則手動創建;
然後將 id_rsa.pub 文件內容復制到 authorized_keys 文件;
cat id_rsa.pub >> a;
註意 >> 是講內容重寫到文件,> 是將內容追加到文件;
id_rsa.pub 文件的內容,其中帶有當前的用戶名,免密登錄時需要使用該用戶來登錄
3. 修改文件權限
chmod 700 ~/.ssh
chmod 644 ~/.ssh/authorized_keys # 信任文件的權限
chmod 600 ~/.ssh/id_rsa # 私鑰文件的權限
4. 修改 /etc/ssh/sshd_config
下面參數選項沒有則手動創建,有註釋則取消註釋,參數值不符合則修改;
HostKey /etc/ssh/ssh_host_rsa_key
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys #公鑰文件存儲位置
UsePAM no
下面參數選項根據自身需要進行修改;
PasswordAuthentication no #允許密碼認證登錄
PermitRootLogin no #允許root認證登錄
重啟 SSH 服務
systemctl restart sshd.service
5. 本地免密登錄
ssh 用戶名@127.0.0.1
6. 遠程免密登錄
A服務器下的.ssh 文件下保存了B服務器用戶userB的公鑰,則userB就可以在B服務器上免密登錄服務A了
想要遠程免密登錄某個服務器,就把自己的 id_rsa.pub(公鑰文件) 追加到某個服務器的 .ssh/authorized_keys 文件中;
ssh username@serverIP
SSH配置免密登錄