Linux
調試 SSH 未連接
我正在嘗試使用 ssh 連接到遠端伺服器,但我有
Permission denied (publickey).
.我已經了解了我可以提出的所有可能的原因以及其他問題的建議。
- 我確定我的密鑰是正確的,我檢查了很多次,我可以使用該密鑰從其他機器登錄到目標伺服器;
- 我將文件的權限設置為 700
好吧,什麼給了
ssh -v
:OpenSSH_4.3p2, OpenSSL 0.9.8e-fips-rhel5 01 Jul 2008 debug1: Reading configuration data /root/.ssh/config debug1: Applying options for fmbnew debug1: Reading configuration data /etc/ssh/ssh_config debug1: Applying options for * debug1: Connecting to --myhost-- [--myip--] port 22. debug1: Connection established. debug1: permanently_set_uid: 0/0 debug1: identity file "~/.ssh/host-key" type -1 debug1: loaded 1 keys debug1: Remote protocol version 2.0, remote software version OpenSSH_6.7p1 Debian-5+deb8u2 debug1: match: OpenSSH_6.7p1 Debian-5+deb8u2 pat OpenSSH* debug1: Enabling compatibility mode for protocol 2.0 debug1: Local version string SSH-2.0-OpenSSH_4.3 debug1: SSH2_MSG_KEXINIT sent debug1: SSH2_MSG_KEXINIT received debug1: kex: server->client aes128-ctr hmac-sha1 none debug1: kex: client->server aes128-ctr hmac-sha1 none debug1: sending SSH2_MSG_KEXDH_INIT debug1: expecting SSH2_MSG_KEXDH_REPLY debug1: Host '--myhost--' is known and matches the RSA host key. debug1: Found key in /root/.ssh/known_hosts:24 debug1: ssh_rsa_verify: signature correct debug1: SSH2_MSG_NEWKEYS sent debug1: expecting SSH2_MSG_NEWKEYS debug1: SSH2_MSG_NEWKEYS received debug1: SSH2_MSG_SERVICE_REQUEST sent debug1: SSH2_MSG_SERVICE_ACCEPT received debug1: Authentications that can continue: publickey debug1: Next authentication method: publickey debug1: Trying private key: "~/.ssh/host-key" debug1: No more authentication methods to try. Permission denied (publickey).
這是在
auth.log
伺服器上發現的(不多):Apr 1 12:15:33 host-07 sshd[23955]: Connection closed by --my-client-ip-- [preauth]
我應該說這台客戶端機器很舊,它有 Centos 5。但在我開始深入探勘之前,我需要確定一下。
有什麼想法我至少可以弄清楚到底出了什麼問題?
編輯:更詳細的伺服器端日誌(DEBUG1):
Apr 1 13:19:11 host-07 sshd[25465]: debug1: Forked child 25512. Apr 1 13:19:11 host-07 sshd[25512]: Set /proc/self/oom_score_adj to 0 Apr 1 13:19:11 host-07 sshd[25512]: debug1: rexec start in 5 out 5 newsock 5 pipe 7 sock 8 Apr 1 13:19:11 host-07 sshd[25512]: debug1: inetd sockets after dupping: 3, 3 Apr 1 13:19:11 host-07 sshd[25512]: Connection from --- port 55088 on --- port 22 Apr 1 13:19:11 host-07 sshd[25512]: debug1: Client protocol version 2.0; client software version OpenSSH_4.3 Apr 1 13:19:11 host-07 sshd[25512]: debug1: match: OpenSSH_4.3 pat OpenSSH_4* compat 0x00000000 Apr 1 13:19:11 host-07 sshd[25512]: debug1: Enabling compatibility mode for protocol 2.0 Apr 1 13:19:11 host-07 sshd[25512]: debug1: Local version string SSH-2.0-OpenSSH_6.7p1 Debian-5+deb8u2 Apr 1 13:19:11 host-07 sshd[25512]: debug1: permanently_set_uid: 104/65534 [preauth] Apr 1 13:19:11 host-07 sshd[25512]: debug1: list_hostkey_types: ssh-rsa,ssh-dss,ecdsa-sha2-nistp256,ssh-ed25519 [preauth] Apr 1 13:19:11 host-07 sshd[25512]: debug1: SSH2_MSG_KEXINIT sent [preauth] Apr 1 13:19:11 host-07 sshd[25512]: debug1: SSH2_MSG_KEXINIT received [preauth] Apr 1 13:19:11 host-07 sshd[25512]: debug1: kex: client->server aes128-ctr hmac-sha1 none [preauth] Apr 1 13:19:11 host-07 sshd[25512]: debug1: kex: server->client aes128-ctr hmac-sha1 none [preauth] Apr 1 13:19:11 host-07 sshd[25512]: debug1: expecting SSH2_MSG_KEXDH_INIT [preauth] Apr 1 13:19:11 host-07 sshd[25512]: debug1: SSH2_MSG_NEWKEYS sent [preauth] Apr 1 13:19:11 host-07 sshd[25512]: debug1: expecting SSH2_MSG_NEWKEYS [preauth] Apr 1 13:19:11 host-07 sshd[25512]: debug1: SSH2_MSG_NEWKEYS received [preauth] Apr 1 13:19:11 host-07 sshd[25512]: debug1: KEX done [preauth] Apr 1 13:19:12 host-07 sshd[25512]: debug1: userauth-request for user myuser service ssh-connection method none [preauth] Apr 1 13:19:12 host-07 sshd[25512]: debug1: attempt 0 failures 0 [preauth] Apr 1 13:19:12 host-07 sshd[25512]: debug1: PAM: initializing for "myuser" Apr 1 13:19:12 host-07 sshd[25512]: debug1: PAM: setting PAM_RHOST to "--myip--" Apr 1 13:19:12 host-07 sshd[25512]: debug1: PAM: setting PAM_TTY to "ssh" Apr 1 13:19:12 host-07 sshd[25512]: Connection closed by --myip-- [preauth] Apr 1 13:19:12 host-07 sshd[25512]: debug1: do_cleanup [preauth] Apr 1 13:19:12 host-07 sshd[25512]: debug1: monitor_read_log: child log fd closed Apr 1 13:19:12 host-07 sshd[25512]: debug1: do_cleanup Apr 1 13:19:12 host-07 sshd[25512]: debug1: PAM: cleanup Apr 1 13:19:12 host-07 sshd[25512]: debug1: Killing privsep child 25513
如果您有 root,請在前台執行 sshd 並在調試模式下使用
sshd -D -d
. 您需要先停止 sshd 守護程序。伺服器提供了有關密鑰失敗原因的更具體的資訊。你提到文件是0700。什麼是.ssh?它也必須是 0700。
如果它可能有幫助,我遇到了一個類似的問題,我也無法通過 ssh 登錄,調試消息看起來很相似
我確實嘗試執行
pam_rally2 -r --user ${username}
以重置失敗計數,但它仍然失敗。然後我記得我已經切換到發行版focal
併升級了libc等……重新安裝
ssh
確實解決了最後的問題…