一、生成SSH公匙和私匙
首先,我們需要在本地生成SSH公匙和私匙。
在終端中輸入以下命令:
ssh-keygen -t rsa
按照提示輸入密鑰保存的文件名和密碼,或者直接按回車鍵使用默認值。命令執行完畢後,終端中會顯示SSH公匙和私匙的路徑。
生成SSH公匙和私匙的目的在於將SSH公匙存儲到需要連接的伺服器上,以便在連接伺服器時進行驗證。
二、將SSH公匙存儲到遠程伺服器上
將本地生成的SSH公匙存儲到需要連接的伺服器上需要使用SSH的文件傳輸功能。在終端中輸入以下命令:
ssh-copy-id username@remote_host
其中,username為連接遠程主機的用戶名,remote_host為遠程主機的IP地址或者域名。
運行命令後,系統會提示輸入遠程主機的密碼。輸入密碼後,系統會將本地電腦上生成的SSH公匙複製到遠程主機的~/.ssh/authorized_keys目錄下。
三、測試SSH免密登錄是否成功
在終端中輸入以下命令:
ssh username@remote_host
如果SSH免密登錄設置成功,則會直接登錄到遠程主機上的終端界面。
四、如果SSH免密登錄未成功,可以嘗試以下方法
1、檢查本地電腦上的SSH公匙和私匙是否生成成功,以及存儲的路徑是否正確。
2、檢查遠程主機的~/.ssh目錄是否存在,以及對應的authorized_keys文件是否存在。
3、如果authorized_keys文件已經存在,則檢查文件許可權是否正確,需要具備讀寫許可權,否則需要執行以下命令更改許可權:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
4、如果以上步驟都沒有問題,可以嘗試修改SSH服務的配置文件。在終端中輸入以下命令打開SSH配置文件:
sudo nano /etc/ssh/sshd_config
將以下兩行的注釋符號#去掉:
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys .ssh/authorized_keys2
保存文件並退出,執行以下命令重啟SSH服務:
sudo service ssh restart
重啟完畢後,再次測試SSH免密登錄是否成功。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/242224.html