비밀번호가 없으면 SSH를 사용할 수 없습니다.

비밀번호가 없으면 SSH를 사용할 수 없습니다.

저는 두 Linux 시스템 간에 비밀번호 없는 원격 파일 복제를 설정하려고 했습니다. 로컬 .ssh/id_rsa.pub를 원격 .ssh/authorized_keys에 연결했습니다. 또한 올바른 파일 권한(홈 디렉터리의 경우 700, Authorized_keys의 경우 600, .ssh)을 설정했습니다.

SSH가 계속해서 비밀번호를 묻습니다. 어떤 아이디어가 있나요? 모든 필수 정보는 다음과 같아야 합니다.

원하지 않는다두 컴퓨터 중 하나에 대한 루트 액세스 권한이 있습니다.

현지의:

$ uname -a && ssh -V
Linux localhost 2.6.32-xxx.x86_64 #1 SMP Tue Dec 18 15:04:44 PST 2012 x86_64     x86_64 x86_64 GNU/Linux
OpenSSH_5.3p1, OpenSSL 1.0.0-fips 29 Mar 2010

외딴:

uname -a && ssh -V
Linux remotehost 4.0.5-xxx.x86_64 #1 SMP Tue Jun 9 15:09:25 PDT 2015 x86_64 x86_64 x86_64 GNU/Linux
OpenSSH_5.3p1, OpenSSL 1.0.1e-fips 11 Feb 2013

디버그:

OpenSSH_5.3p1, OpenSSL 1.0.0-fips 29 Mar 2010
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to remote [1.2.3.4] port 22.
debug1: Connection established.
debug3: Not a RSA1 key file .ssh/myKey.
debug2: key_type_from_name: unknown key type '-----BEGIN'
debug3: key_read: missing keytype
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug2: key_type_from_name: unknown key type '-----END'
debug3: key_read: missing keytype
debug1: identity file .ssh/myKey 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
debug2: fd 3 setting O_NONBLOCK
debug1: SSH2_MSG_KEXINIT sent
debug3: Wrote 792 bytes for a total of 813
debug1: SSH2_MSG_KEXINIT received
debug2: kex_parse_kexinit: diffie-hellman-group-exchange-sha256,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1
debug2: kex_parse_kexinit: ssh-rsa,ssh-dss
debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,[email protected]
debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,[email protected]
debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,[email protected],hmac-ripemd160,[email protected],hmac-sha1-96,hmac-md5-96
debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,[email protected],hmac-ripemd160,[email protected],hmac-sha1-96,hmac-md5-96
debug2: kex_parse_kexinit: none,[email protected],zlib
debug2: kex_parse_kexinit: none,[email protected],zlib
debug2: kex_parse_kexinit: 
debug2: kex_parse_kexinit: 
debug2: kex_parse_kexinit: first_kex_follows 0 
debug2: kex_parse_kexinit: reserved 0 
debug2: kex_parse_kexinit: diffie-hellman-group-exchange-sha256,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1
debug2: kex_parse_kexinit: ssh-rsa,ssh-dss
debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,[email protected]
debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,[email protected]
debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,[email protected],hmac-sha2-256,hmac-sha2-512,hmac-ripemd160,[email protected],hmac-sha1-96,hmac-md5-96
debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,[email protected],hmac-sha2-256,hmac-sha2-512,hmac-ripemd160,[email protected],hmac-sha1-96,hmac-md5-96
debug2: kex_parse_kexinit: none,[email protected]
debug2: kex_parse_kexinit: none,[email protected]
debug2: kex_parse_kexinit: 
debug2: kex_parse_kexinit: 
debug2: kex_parse_kexinit: first_kex_follows 0 
debug2: kex_parse_kexinit: reserved 0 
debug2: mac_setup: found hmac-md5
debug1: kex: server->client aes128-ctr hmac-md5 none
debug2: mac_setup: found hmac-md5
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
debug3: Wrote 24 bytes for a total of 837
debug2: dh_gen_key: priv key bits set: 119/256
debug2: bits set: 491/1024
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug3: Wrote 144 bytes for a total of 981
debug3: check_host_in_hostfile: filename /some/directory/.ssh/known_hosts
debug3: check_host_in_hostfile: match line 14
debug3: check_host_in_hostfile: filename /some/directory/.ssh/known_hosts
debug3: check_host_in_hostfile: match line 14
debug1: Host 'remote' is known and matches the RSA host key.
debug1: Found key in /some/directory/.ssh/known_hosts:14
debug2: bits set: 496/1024
debug1: ssh_rsa_verify: signature correct
debug2: kex_derive_keys
debug2: set_newkeys: mode 1
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug3: Wrote 16 bytes for a total of 997
debug2: set_newkeys: mode 0
debug1: SSH2_MSG_NEWKEYS received
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug3: Wrote 48 bytes for a total of 1045
debug2: service_accept: ssh-userauth
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug2: key: /some/directory/.ssh/id_rsa (0x7fbf18b8a0b0)
debug2: key: .ssh/myKey (0x7fbf18b86460)
debug3: Wrote 64 bytes for a total of 1109
debug1: Authentications that can continue: publickey,password
debug3: start over, passed a different list publickey,password
debug3: preferred gssapi-keyex,gssapi-with-mic,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 public key: /some/directory/.ssh/id_rsa
debug3: send_pubkey_test
debug2: we sent a publickey packet, wait for reply
debug3: Wrote 624 bytes for a total of 1733
debug1: Authentications that can continue: publickey,password
debug1: Offering public key: .ssh/myKey
debug3: send_pubkey_test
debug2: we sent a publickey packet, wait for reply
debug3: Wrote 368 bytes for a total of 2101
debug1: Authentications that can continue: publickey,password
debug2: we did not send a packet, disable method
debug3: authmethod_lookup password
debug3: remaining preferred: ,password
debug3: authmethod_is_enabled password
debug1: Next authentication method: password
xxxx@remotehost's password: 

댓글 작성자의 요청에 따라 추가되었습니다.

ls -lZd / /home /home/xxxx /home/xxxx/.ssh /home/xxxx/.ssh/authorized_keys
drwxr-xr-x root   root     ?                                /
drwxr-xr-x root   root     ?                                /home
drwx------ xxxx   xxxx_gsa ?                                /home/xxxx
drwx------ xxxx   xxxx_gsa ?                                /home/xxxx/.ssh
-rw------- xxxx   xxxx_gsa ?                                /home/xxxx/.ssh/authorized_keys

답변1

귀하의 권한은 문제를 보여줍니다.

-rw------- xxxx_p xxxx_gsa ?                                /home/xxxx/.ssh/authorized_keys

매뉴얼 페이지에 따르면 sshd:

~/.ssh/authorized_keys

[...]

다른 사용자가 파일, ~/.ssh 디렉터리 또는 사용자의 홈 디렉터리에 쓸 수 있는 경우 권한 없는 사용자가 파일을 수정하거나 교체할 수 있습니다. 이 경우 StrictModes 옵션이 "no"로 설정되지 않으면 sshd는 해당 사용을 허용하지 않습니다.

가 아닌 /home/xxxx/.ssh/authorized_keys사용자에게 속해 있는지 확인해야 합니다 . 그렇지 않으면 서버는 파일 사용을 거부합니다.xxxxxxxx_p

답변2

debug3: Not a RSA1 key file .ssh/myKey.
debug2: key_type_from_name: unknown key type '-----BEGIN'
                                              ^^^^ bzzt

두 번째 줄은 문제인 것 같습니다.

SSH의 다양한 구현에서는 다양한 형식을 사용합니다. 다른버전OpenSSH는 수년 동안 일관성을 유지해 왔습니다. ISTR 다른 곳, 아마도 PuTTY에서 유사한 "BEGIN" 문자열을 본 적이 있습니다.

OpenSSH를 사용하고 있으며 인증 키는 다음과 같습니다.

$ cut -b-60 ~/.ssh/authorized_keys 
ssh-dss AAAAB3NzaC1kc3MAAACBANSxMDLaL3O6jg528/QeoCxw78qgVrqc
ssh-dss AAAAB3NzaC1kc3MAAACBAOgQyLwNkOAzsfxzm8WcYJYp/asSS7Lb
ssh-dss AAAAB3NzaC1kc3MAAACBAMyZLbylDmVUkBPEltOap1x4l4WGg5Il

리모컨에서 공개 키를 생성해 보고 설치한 것과 비슷한지 확인하세요.인증 키. 그렇지 않은 경우 실행 중인 ssh/sshd가 누구인지, 그리고 올바른 형식의 키를 제공하는 방법을 이해해야 합니다.

관련 정보