>

방금 Lion으로 업그레이드했는데 SSH를 통해 다양한 서버에 로그인하려고 할 때 ssh 키가 제대로 작동하지 않는 것을 발견했습니다.

~/.ssh 디렉토리 및 ~/.ssh/authorized_keys 파일에 대한 권한을 확인했으며 각각 0700 및 0600으로 올바르게 설정되어 있습니다.

이 문제를 해결하려면 어떻게해야합니까?

다음은 ssh 연결 프로세스의 샘플입니다 :

$ ssh -v 70.32.90.120
OpenSSH_5.6p1, OpenSSL 0.9.8r 8 Feb 2011
debug1: Reading configuration data /Users/gonzo/.ssh/config
debug1: Reading configuration data /etc/ssh_config
debug1: Applying options for *
debug1: Connecting to 70.32.90.120 [70.32.90.120] port 22.
debug1: Connection established.
debug1: identity file /Users/gonzo/.ssh/id_rsa type -1
debug1: identity file /Users/gonzo/.ssh/id_rsa-cert type -1
debug1: identity file /Users/gonzo/.ssh/id_dsa type -1
debug1: identity file /Users/gonzo/.ssh/id_dsa-cert type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_4.3
debug1: match: OpenSSH_4.3 pat OpenSSH_4*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.6
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-md5 none
debug1: kex: client->server aes128-ctr hmac-md5 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug1: Host '70.32.90.120' is known and matches the RSA host key.
debug1: Found key in /Users/gonzo/.ssh/known_hosts:61
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,gssapi-with-mic,password
debug1: Next authentication method: publickey
debug1: Trying private key: /Users/gonzo/.ssh/id_rsa
debug1: Trying private key: /Users/gonzo/.ssh/id_dsa
debug1: Next authentication method: password
[email protected]'s password:

  • 답변 # 1

    관리자에게 sshd 로그를 보도록 요청하십시오. 또는 디버그를 켠 상태에서 보조 포트에서 sshd의 두 번째 인스턴스를 실행하도록 요청하면 키 오류가 무엇인지 알 수 있습니다.

    sshd는 이것에 관해서는 꽤 까다로운 이유입니다. ssh'ing하려는 서버에서 관리자는 /usr/sbin/sshd -d -p 2222 와 같은 명령을 실행해야합니다.

    디버그 모드에서 sshd를 실행할 때 첫 번째 연결을 처리하고 로트를 분출하고 (출력의lots을 의미 함) 서버를 종료합니다. -p를 실행하면 포트 2222에서 서버가 실행됩니다. 서버가 정상적으로 실행되는 기본 포트 22를 인계 할 수 없기 때문에 필요합니다.

    그러면 ssh -p 2222 70.32.90.120 를 실행해야합니다  (이 경우 -v가 필요하지 않습니다). 그러면 서버의 로그는 개인 키가 서버에서 거부 된 정확한 이유를 제공해야합니다. 보안과 관련하여 ssh는 매우 엄격하기 때문에이 교환은 여러 번 발생해야합니다. 프로세스에서 여러 오류가 발견 될 수 있습니다.

  • 답변 # 2

    다음 중 하나로 시작합니다.

    새 키 배포

    백업에서 이전 키를 다시로드하고 Lion 서버가 실제로 이전 키를 사용하도록 작업을 수행하십시오.

    전자는 항상 처음에는 더 많은 작업처럼 보이지만 항상 후자보다 빠릅니다. ymmv

관련 자료

  • 이전 iphone - iOS 61로 업데이트하면 셀룰러 FaceTime이 비활성화됩니까?
  • 다음 AirPort 유틸리티 (56)가 "기존 무선 네트워크가 연결되도록 구성"