Ssh

為伺服器的 sshd 啟用公鑰認證

  • March 22, 2010

我有兩台執行 RHEL 5 的伺服器。兩者的配置幾乎相同。我已經在兩者上都設置了 RSA Publickey authetication,一個有效,另一個無效:

[my_user@client] $ ssh my_user@server1

--- server1 MOTD Banner ---

[my_user@server1] $

在另一台伺服器上:

[my_user@client] $ ssh my_user@server2
my_user@server2's password:

--- server2 MOTD Banner ---

[my_user@server2] $

server2 的 /etc/ssh/sshd_config 文件片段:

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile        .ssh/authorized_keys

當我執行時,ssh -vvv我得到以下程式碼段:

debug3: authmethod_lookup publickey
debug3: remaining preferred: keyboard-interactive,password
debug3: authmethod_is_enabled publickey
debug3: Next authentication method: publickey
debug1: Offering public key: /home/my_user/.ssh/id_rsa
debug3: send_pubkey_test
debug2: we sent a publickey packet, wait for reply
debug1: Authentication that can continue: publickey,gssapi-with-mic,passowrd
debug1: Offering public key: /home/my_user/.ssh/id_dsa
debug3: send_pubkey_test
debug2: we sent a publickey packet, wait for reply
debug1: Authentication that can continue: publickey,gssapi-with-mic,passowrd
debug3: authmethod_lookup password
debug3: remaining preferred: ,password
debug3: authmethod_is_enabled password
debug1: Next authentication method: password
my_user@server2's password:

編輯:伺服器和客戶端的.ssh目錄都有 700 權限,並且其中的所有文件都有 644 或 600 權限

您是否檢查了兩台機器上的文件系統權限?sshd 對文件夾 .ssh 和此文件夾中的文件的權限有點挑剔。

.ssh 應該有 700,文件應該有 644 或更少。

假設您沒有更改伺服器之間的 sshd_config,此解決方案將很簡單。您可以diff肯定地與他們對抗。

正如克里斯蒂安所說,權限通常是最可能的原因。

如果權限準確,則其中一台伺服器上的私鑰和公鑰對之間將不匹配。

引用自:https://serverfault.com/questions/122565