了解密钥对的ssh连接失败的调试日志


0

我有两台具有相同ssh密钥的个人计算机(mac)。

在机器B上进行一次更新后,我无法访问机器A

我执行以下步骤:

  • 从计算机A到B具有rsync .ssh目录的Syncro
  • 现在文件.ssh/id_rsa,。.ssh/id_rsa.pub.ssh/authorized_keys都一样。
  • 在两台机器上删除 .ssh/know_hosts
  • 尝试失败

SSH与调试

abkrim {~/.ssh} $ ssh -vvv abkrim@192.168.1.69
OpenSSH_7.4p1, LibreSSL 2.5.0
debug1: Reading configuration data /etc/ssh/ssh_config
debug2: resolving "192.168.1.69" port 22
debug2: ssh_connect_direct: needpriv 0
debug1: Connecting to 192.168.1.69 [192.168.1.69] port 22.
debug1: Connection established.
debug1: identity file /Users/abkrim/.ssh/id_rsa type 1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/abkrim/.ssh/id_rsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/abkrim/.ssh/id_dsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/abkrim/.ssh/id_dsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/abkrim/.ssh/id_ecdsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/abkrim/.ssh/id_ecdsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/abkrim/.ssh/id_ed25519 type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/abkrim/.ssh/id_ed25519-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_7.4
debug1: Remote protocol version 2.0, remote software version OpenSSH_7.6
debug1: match: OpenSSH_7.6 pat OpenSSH* compat 0x04000000
debug2: fd 3 setting O_NONBLOCK
debug1: Authenticating to 192.168.1.69:22 as 'abkrim'
debug3: send packet: type 20
debug1: SSH2_MSG_KEXINIT sent
debug3: receive packet: type 20
debug1: SSH2_MSG_KEXINIT received
debug2: local client KEXINIT proposal
debug2: KEX algorithms: curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha256,diffie-hellman-group14-sha1,ext-info-c
debug2: host key algorithms: ecdsa-sha2-nistp256-cert-v01@openssh.com,ecdsa-sha2-nistp384-cert-v01@openssh.com,ecdsa-sha2-nistp521-cert-v01@openssh.com,ssh-ed25519-cert-v01@openssh.com,ssh-rsa-cert-v01@openssh.com,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,ssh-ed25519,rsa-sha2-512,rsa-sha2-256,ssh-rsa
debug2: ciphers ctos: chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com,aes128-cbc,aes192-cbc,aes256-cbc
debug2: ciphers stoc: chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com,aes128-cbc,aes192-cbc,aes256-cbc
debug2: MACs ctos: umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1
debug2: MACs stoc: umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1
debug2: compression ctos: none,zlib@openssh.com,zlib
debug2: compression stoc: none,zlib@openssh.com,zlib
debug2: languages ctos:
debug2: languages stoc:
debug2: first_kex_follows 0
debug2: reserved 0
debug2: peer server KEXINIT proposal
debug2: KEX algorithms: curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,diffie-hellman-group14-sha256,diffie-hellman-group14-sha1
debug2: host key algorithms: ssh-rsa,rsa-sha2-512,rsa-sha2-256,ecdsa-sha2-nistp256,ssh-ed25519
debug2: ciphers ctos: chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com
debug2: ciphers stoc: chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com
debug2: MACs ctos: umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1
debug2: MACs stoc: umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1
debug2: compression ctos: none,zlib@openssh.com
debug2: compression stoc: none,zlib@openssh.com
debug2: languages ctos:
debug2: languages stoc:
debug2: first_kex_follows 0
debug2: reserved 0
debug1: kex: algorithm: curve25519-sha256
debug1: kex: host key algorithm: ecdsa-sha2-nistp256
debug1: kex: server->client cipher: chacha20-poly1305@openssh.com MAC: <implicit> compression: none
debug1: kex: client->server cipher: chacha20-poly1305@openssh.com MAC: <implicit> compression: none
debug3: send packet: type 30
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug3: receive packet: type 31
debug1: Server host key: ecdsa-sha2-nistp256 SHA256:sXVosdAMvhsJ6H17TSIVVRq/fWmo5YG6EHyKm9ARWaw
The authenticity of host '192.168.1.69 (192.168.1.69)' can't be established.
ECDSA key fingerprint is SHA256:sXVosdAMvhsJ6H17TSIVVRq/fWmo5YG6EHyKm9ARWaw.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.1.69' (ECDSA) to the list of known hosts.
debug3: send packet: type 21
debug2: set_newkeys: mode 1
debug1: rekey after 134217728 blocks
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug3: receive packet: type 21
debug1: SSH2_MSG_NEWKEYS received
debug2: set_newkeys: mode 0
debug1: rekey after 134217728 blocks
debug2: key: /Users/abkrim/.ssh/id_rsa (0x7fa807c00440)
debug2: key: /Users/abkrim/.ssh/id_dsa (0x0)
debug2: key: /Users/abkrim/.ssh/id_ecdsa (0x0)
debug2: key: /Users/abkrim/.ssh/id_ed25519 (0x0)
debug3: send packet: type 5
debug3: receive packet: type 7
debug1: SSH2_MSG_EXT_INFO received
debug1: kex_input_ext_info: server-sig-algs=<ssh-ed25519,ssh-rsa,rsa-sha2-256,rsa-sha2-512,ssh-dss,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521>
debug3: receive packet: type 6
debug2: service_accept: ssh-userauth
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug3: send packet: type 50
debug3: receive packet: type 51
debug1: Authentications that can continue: publickey,password,keyboard-interactive
debug3: start over, passed a different list publickey,password,keyboard-interactive
debug3: preferred publickey,keyboard-interactive,password
debug3: authmethod_lookup publickey
debug3: remaining preferred: keyboard-interactive,password
debug3: authmethod_is_enabled publickey
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /Users/abkrim/.ssh/id_rsa
debug3: send_pubkey_test
debug3: send packet: type 50
debug2: we sent a publickey packet, wait for reply
Authentication failed.

但是以其他顺序(从机器A到机器B)可以正常工作。

在远程mahcine上,服务器SSHD显示以下内容:

tail -f /var/log/system.log | grep sshd
May  1 20:42:22 iMac-2 com.apple.xpc.launchd[1] (com.openssh.sshd.DE639EE5-7072-4B2F-950A-11C38130393B[9492]): Service exited with abnormal code: 255

要确定为什么ssh服务器(您尝试连接到的机器上的sshd)为什么拒绝身份验证尝试,您可能需要从您尝试连接到的机器上的sshd发出详细日志。
Spiff '18年

@Spiff编辑了我的问题,显示了日志:Service exited with abnormal code: 255
Abdel Karim Mateos Sanchez

1
为了从sshd中获取正确的调试信息,您需要停止从运行sshd的启动,然后手动调用“ sshd -ddd…”,这将使sshd保持与终端的连接,并将调试日志消息发送到stdout。
Spiff '18年

很多感谢的......开始/usr/bin/sshd -ddd显示我的几个问题读/etc/ssh/*_key的`用不可hostkey
阿卜杜勒·卡里姆·马特奥斯桑切斯

Answers:


0

感谢@Spiff告诉我调试问题的方法。

停止sshd

sudo launchctl stop com.openssh.sshd

在Shell上手动启动sshd

sudo /usr/sbin/sshd -ddd
debug2: load_server_config: filename /etc/ssh/sshd_config
debug2: load_server_config: done config len = 290
debug2: parse_server_config: config /etc/ssh/sshd_config len 290
debug3: /etc/ssh/sshd_config:42 setting AuthorizedKeysFile .ssh/authorized_keys
debug3: /etc/ssh/sshd_config:58 setting PasswordAuthentication yes
debug3: /etc/ssh/sshd_config:83 setting UsePAM yes
debug3: /etc/ssh/sshd_config:108 setting AcceptEnv LANG LC_*
debug3: /etc/ssh/sshd_config:114 setting Subsystem sftp /usr/libexec/sftp-server
debug3: /etc/ssh/sshd_config:124 setting XAuthLocation /opt/X11/bin/xauth
debug1: sshd version OpenSSH_7.6, LibreSSL 2.6.2
debug1: private host key #0: ssh-rsa SHA256:Pyv2GkZBE5DYoepXu5yWZ4Y+QAEoPzuU56EisU1D5rI
debug1: private host key #1: ssh-dss SHA256:GY5LotzDXNJ7nXuryDS5HehCcpBgYDieJbIbUnzBU/c
debug1: private host key #2: ecdsa-sha2-nistp256 SHA256:sXVosdAMvhsJ6H17TSIVVRq/fWmo5YG6EHyKm9ARWaw
debug1: private host key #3: ssh-ed25519 SHA256:toO00XtxCi+zs7CU1KE0cHpJ3QvO+YSIlVxnkq8rnaE
debug1: rexec_argv[0]='/usr/sbin/sshd'
debug1: rexec_argv[1]='-ddd'
debug2: fd 4 setting O_NONBLOCK
debug3: sock_set_v6only: set socket 4 IPV6_V6ONLY
debug1: Bind to port 22 on ::.
Bind to port 22 on :: failed: Address already in use.
debug2: fd 4 setting O_NONBLOCK
debug1: Bind to port 22 on 0.0.0.0.
Bind to port 22 on 0.0.0.0 failed: Address already in use.
Cannot bind any address.

这表明端口正在使用中


我也不确定这是否是正确的答案。我认为,如果您停止sshd但不卸载整个launchd工作,那么launchd它本身仍将代表保持TCP端口22上的监听器打开sshd。因此,您需要sudo launchctl unload -w /System/Library/LaunchDaemons/ssh.plist在运行之前做sshd -ddd…
Spiff '18年

谢谢。但是问题是其他。您的回信告诉我。问题是苹果系统sshd上的错误。经支持确认。SSH已经卸载,但是端口22正在使用中。还要验证ps aux | grep -i ssh,而不是ps。在此之后,与Appalce支持进行交流,并说我是一个错误,请获取下一次更新的解决方案,谢谢
Abdel Karim Mateos Sanchez

我要告诉您的是,缺少您和Apple支持,是因为launchd代表启动自动启动的sshd之类的网络守护程序在端口上打开侦听器。因此,以sshd的名义打开了端口22。如果您这样做,sudo lsof -i :22您会发现我是对的。
斯皮夫
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.