Ssh
為伺服器的 sshd 啟用公鑰認證
我有兩台執行 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
肯定地與他們對抗。正如克里斯蒂安所說,權限通常是最可能的原因。
如果權限準確,則其中一台伺服器上的私鑰和公鑰對之間將不匹配。