키 쌍으로 실패한 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

@Spiff 쇼 로그를 위해 질문을 편집했습니다 :Service exited with abnormal code: 255
Abdel Karim Mateos Sanchez

1
sshd에서 적절한 디버그 정보를 얻으려면 sshd 실행에서 실행을 중지 한 다음 "sshd -ddd…"를 수동으로 호출해야합니다. 그러면 sshd가 터미널에 연결된 상태로 유지되고 디버그 로그 메시지를 stdout으로 보냅니다.
Spiff

와 감사의 많은 ... 시작 /usr/bin/sshd -ddd읽기 내 몇 가지 문제가 보여 /etc/ssh/*_key'의'사용할 수없는 호스트 키
압델 카림 마테오 산체스

답변:


0

@Spiff가 문제를 디버깅하는 방법을 보여 주셔서 감사합니다.

sshd 중지

sudo launchctl stop com.openssh.sshd

쉘에서 수동으로 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

감사. 그러나 문제는 다른 것입니다. 당신의 대답은 저에게 길을 보여줍니다. 문제는 애플의 시스템 sshd의 버그입니다. 지원에 의해 확인되었습니다. SSH가 이미 언로드되었지만 포트 22가 사용 중입니다. 또한 ps에 있지 않은 ps aux | grep -i ssh를 확인하십시오. 이 후, Appalce 지원과 의사 소통을하고 버그라고 말하고 다음 업데이트에 대한 해결책을 찾으십시오.
Abdel Karim Mateos Sanchez

내가 당신에게 말하려고하는 것은 당신과 애플 지원이 빠졌다는 것입니다. 런칭 된 리스너는 자동 시작을 시작한 sshd와 같은 네트워크 데몬 대신 포트에서 리스너를 열어 놓았습니다. 따라서 포트 22는 sshd를 대신하여 시작됩니다. 그렇게한다면 sudo lsof -i :22내가 옳다 는 것을 알게 될 것입니다.
Spiff
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.