상담원이 키로 서명하지 않았다는 사실을 인정

상담원이 키로 서명하지 않았다는 사실을 인정

상담원이 키로 서명하지 않았다는 사실을 인정

저는 centos6.5(32bit)에서 작업 중인데 ssh-keygen 및 ssh-copy-id를 사용하여 비밀번호 없이 ssh 로그인을 시도하고 있습니까? 완료한 단계:

먼저 키를 만들었습니다.

[root@dd ~]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
/root/.ssh/id_rsa already exists.
Overwrite (y/n)? y
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
8f:48:0b:04:3a:e1:90:f4:9f:de:2a:33:63:ea:a8:82 [email protected]
The key's randomart image is:
+--[ RSA 2048]----+
|+o.              |
|+o..             |
|o. ..            |
| . .. .          |
|    .o. S        |
|    .o.o o       |
|.    .o.. .      |
|E  *  .          |
|*oo =.           |
+-----------------+

그런 다음 키를 원격 호스트에 복사합니다.

[root@dd ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub 192.168.1.3
[email protected]'s password: My_Password
Now try logging into the machine, with "ssh '[email protected]'", and check in:

.ssh/authorized_keys

to make sure we haven't added extra keys that you weren't expecting.

그런 다음 로그인을 시도했지만 실패합니다(키 사용).

[root@dd ~]# ssh 192.168.1.3
Agent admitted failure to sign using the key.
[email protected]'s password: 

그리고 자세한 로깅으로:

[root@dd ~]# ssh -v [email protected]
OpenSSH_5.3p1, OpenSSL 1.0.1e-fips 11 Feb 2013
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug1: Connecting to 192.168.1.3 [192.168.1.3] port 22.
debug1: Connection established.
debug1: permanently_set_uid: 0/0
debug1: identity file /root/.ssh/identity type -1
debug1: identity file /root/.ssh/identity-cert type -1
debug1: identity file /root/.ssh/id_rsa type 1
debug1: identity file /root/.ssh/id_rsa-cert type -1
debug1: identity file /root/.ssh/id_dsa type -1
debug1: identity file /root/.ssh/id_dsa-cert type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.3
debug1: match: OpenSSH_5.3 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.3
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 '192.168.1.3' is known and matches the RSA host key.
debug1: Found key in /root/.ssh/known_hosts:1
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,gssapi-keyex,gssapi-with-mic,password
debug1: Next authentication method: gssapi-keyex
debug1: No valid Key exchange context
debug1: Next authentication method: gssapi-with-mic
debug1: Unspecified GSS failure.  Minor code may provide more information 
Cannot determine realm for numeric host address

debug1: Unspecified GSS failure.  Minor code may provide more information
Cannot determine realm for numeric host address

debug1: Unspecified GSS failure.  Minor code may provide more information


debug1: Unspecified GSS failure.  Minor code may provide more information
Cannot determine realm for numeric host address

debug1: Next authentication method: publickey
debug1: Offering public key: /root/.ssh/id_rsa
debug1: Server accepts key: pkalg ssh-rsa blen 277
Agent admitted failure to sign using the key.
debug1: Trying private key: /root/.ssh/identity
debug1: Trying private key: /root/.ssh/id_dsa
debug1: Next authentication method: password
[email protected]'s password: 

답변1

귀하는 다음과 같은 실패로 고통받고 있습니다.

대리인은 서명에 키를 사용하지 않았다고 인정했습니다.

불행하게도 이는 진단이 아닌 메시지입니다. 이는 (적어도) 두 가지 유형의 문제를 해결할 수 있습니다.

 

키가 로드되지 않았습니다.

대부분의 문제에서 이는 ssh-agent대상 서버의 계정에서 허용하는 SSH 키를 로드하지 않음을 의미합니다. 이 경우 지적한 바와 같이@网达人의 답변이 문제에 대한 해결책은 매우 간단합니다. 키를 추가하면 됩니다.

ssh-add

키가 기본 위치가 아닌 위치에 있는 경우 다음과 같이 알려주어야 합니다 ssh-add.

ssh-add /path/to/key

 

에이전트가 키를 이해할 수 없습니다.

이것은그놈 버그 754028, Seahorse 3.29.90(안정적 3.30)에서 해결됨2018-09-03에 출시됨, 포함 된우분투18.10,페도라 29, 그리고 아마도 Red Hat/CentOS 9). 3.29.90 이전의 Seahorse(및 GNOME Keyring)는 새로운 키 유형을 생성하거나 추가할 수 없습니다.ed25519그리고 생성된 키 ssh-keygen -o -a 100(제안된 대로)안전 안전 인클로저지도 시간).

이 문제의 진단:

  • ssh myserver"Ssh 에이전트가 실패를 인정했습니다"로 실패합니다.
  • SSH_AUTH_SOCK= ssh myserver아주 잘 작동
  • 결론: gnome-keyring복잡한 키 입력을 처리할 수 없습니다

방금 이 오류에 대한 해결 방법을 찾았는데 어디에도 게시되지 않은 것 같습니다.논평방금 우분투 버그를 추가했고 여기에 넣겠습니다.

해결책:ssh-agent다음과 동일한 소켓을 사용하여 새 소켓을 시작합니다 gnome-keyring.

ssh-agent -a $SSH_AUTH_SOCK

그러면 새 인스턴스가 시작되므로 ssh-agent(그놈의 덜 강력한 인스턴스를 덮어쓰게 됨) 키가 없습니다( seahorse어차피 이전 에이전트에 연결되어 있기 때문입니다). ssh-add다음과 같이 추가 해야합니다키가 로드되지 않았습니다.위 부분입니다.

로그인할 때마다 실행해야 합니다(또는 시작 스크립트에 수동으로 추가해야 합니다). 기존 소켓을 유지하려면 먼저 를 실행하세요 mv $SSH_AUTH_SOCK $SSH_AUTH_SOCK.broken.

답변2

방금 로컬 컴퓨터에서(키를 생성한 후) 이 명령을 실행했는데 문제가 해결되었습니다.

$ ssh-add

답변3

나는 다음을 추가했다:

Host github.com
  HostName github.com
  User YOURUSERNAME
  IdentityFile ~/.ssh/id_rsa.pub

문제를 회피하기 위해 내 ~/.ssh/config 파일에 추가했으며 작동하는 것 같습니다.

관련 정보