在 Linux 系統中,使用 ssh 實現免密碼登錄通常涉及以下步驟:
1.生成 ssh 密鑰對: 在本地計算機上生成 ssh 密鑰對,包括公鑰和私鑰。公鑰用于將其添加到遠程服務器上的授權文件中,私鑰用于本地身份驗證。
ssh-keygen -t rsa
這將生成 RSA 類型的密鑰對,默認情況下保存在 ~/.ssh/id_rsa(私鑰)和 ~/.ssh/id_rsa.pub(公鑰)。
2.將公鑰添加到遠程服務器的授權文件中: 使用 ssh 將本地生成的公鑰添加到遠程服務器的授權文件中。您可以使用 ssh-copy-id 命令來實現。
ssh-copy-id username@remote_host
這將在遠程服務器上的 ~/.ssh/authorized_keys 文件中添加您的公鑰。
如果沒有 ssh-copy-id 命令,您可以手動將公鑰內容復制并追加到遠程服務器的 ~/.ssh/authorized_keys 文件中。
3.確認 ssh 配置: 確保遠程服務器上的 ssh 配置允許公鑰身份驗證,并禁用密碼身份驗證。您可以編輯遠程服務器上的 ssh 配置文件 /etc/ssh/sshd_config,確保以下設置:
PubkeyAuthentication yes
PasswordAuthentication no
在修改完配置文件后,記得重新加載 ssh 服務:
sudo systemctl reload sshd
4.測試免密碼登錄: 現在,您應該可以使用 ssh 進行免密碼登錄到遠程服務器:
ssh username@remote_host
系統應該會使用您的私鑰進行身份驗證,而不需要輸入密碼。
通過這些步驟,您就可以在 Linux 系統上配置 ssh 免密碼登錄了。這樣可以增加登錄的便利性,并提高安全性,因為不再需要在每次登錄時輸入密碼。請確保在進行配置時遵循安全最佳實踐。