ssh는 비밀번호 없이 키를 사용하여 로그인할 수 없습니다

ssh는 비밀번호 없이 키를 사용하여 로그인할 수 없습니다

id_dsa거기에 없는 것 같고 시도했지만 거기 id_ecdsa에 있습니다. 몇 번 다시 생성하려고 시도했지만 여전히 작동하지 않습니다. 같은 문제를 겪고 해결한 사람이 있나요? 아니면 이것을 처리하는 방법을 아는 사람이 있습니까?

hadoop@i5:~$ ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/opt/hadoop/.ssh/id_dsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /opt/hadoop/.ssh/id_dsa.
Your public key has been saved in /opt/hadoop/.ssh/id_dsa.pub.
The key fingerprint is:
2f:ea:1d:fa:eb:3b:86:ac:5f:32:0e:10:e1:09:c5:82 hadoop@i5
The key's randomart image is:
+--[ DSA 1024]----+
|ooo              |
|Eo.o             |
| .+              |
|   .             |
|  .     S        |
|   .     .       |
|    ..o.+ .      |
|     ooBoo       |
|    .+*+*+       |
+-----------------+
hadoop@i5:~$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
hadoop@i5:~$ ssh localhost -v
OpenSSH_6.6.1, OpenSSL 1.0.1f 6 Jan 2014
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to localhost [127.0.0.1] port 22.
debug1: Connection established.
debug1: identity file /opt/hadoop/.ssh/id_rsa type -1
debug1: identity file /opt/hadoop/.ssh/id_rsa-cert type -1
debug1: identity file /opt/hadoop/.ssh/id_dsa type 2
debug1: identity file /opt/hadoop/.ssh/id_dsa-cert type -1
debug1: identity file /opt/hadoop/.ssh/id_ecdsa type -1
debug1: identity file /opt/hadoop/.ssh/id_ecdsa-cert type -1
debug1: identity file /opt/hadoop/.ssh/id_ed25519 type -1
debug1: identity file /opt/hadoop/.ssh/id_ed25519-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.6.1p1 Ubuntu-2ubuntu2.7
debug1: Remote protocol version 2.0, remote software version OpenSSH_6.6.1p1 Ubuntu-2ubuntu2.7
debug1: match: OpenSSH_6.6.1p1 Ubuntu-2ubuntu2.7 pat OpenSSH_6.6.1* compat 0x04000000
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr [email protected] none
debug1: kex: client->server aes128-ctr [email protected] none
debug1: sending SSH2_MSG_KEX_ECDH_INIT
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: Server host key: ECDSA a5:59:74:76:e5:37:42:3a:3b:57:50:be:a6:69:57:63
debug1: Host 'localhost' is known and matches the ECDSA host key.
debug1: Found key in /opt/hadoop/.ssh/known_hosts:1
debug1: ssh_ecdsa_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,password
debug1: Next authentication method: publickey
debug1: Trying private key: /opt/hadoop/.ssh/id_rsa
debug1: Offering DSA public key: /opt/hadoop/.ssh/id_dsa
debug1: Authentications that can continue: publickey,password
debug1: Trying private key: /opt/hadoop/.ssh/id_ecdsa
debug1: Trying private key: /opt/hadoop/.ssh/id_ed25519
debug1: Next authentication method: password
hadoop@localhost's password: 

답변1

비밀번호 없는 SSH 연결을 생성하려면 먼저 키 쌍을 생성해야 합니다(PuTTygen은 이를 위한 훌륭한 도구입니다).

키를 생성합니다. 공개 키와 개인 키를 컴퓨터 어딘가에 저장하세요. 서버의 $HOME 디렉터리에서 mkdir .ssh명령을 사용하여 .ssh라는 디렉터리를 만듭니다. 그런 다음 명령을 통해 "authorized_keys"라는 파일을 만듭니다 vi .ssh/authorized_keys. 공개 키를 복사하여 이 파일에 붙여넣습니다(vi에서 i삽입 모드로 들어가서 ESC명령 모드로 돌아온 다음 :wq쓰고 종료합니다). 다음으로, chmod 700 .ssh/서버를 사용하고 종료하면서 권한을 조정하세요. 마지막으로 PuTTY에서 왼쪽의 "Connect"를 클릭하여 트리를 확장합니다. 다음으로 SSH를 클릭한 다음 AUTH를 클릭하세요. "인증을 위한 개인 키 파일"이라는 필드가 있습니다. 개인 키를 저장한 디렉터리로 이동하여 이 파일을 사용하세요.

다음 로그인 시에는 비밀번호 없이 로그인할 수 있습니다.

창문의 경우: http://www.tecmint.com/ssh-passwordless-login-with-putty/

리눅스의 경우: http://www.tecmint.com/ssh-passwordless-login-using-ssh-keygen-in-5-easy-steps/

편집 - 아래 의견에 따르면 권한 문제인 것 같습니다.

관련 정보