키가 있는 SSH만 허용하는 서버가 있습니다. 그러나 SSH를 통해 이 컴퓨터에 연결하려고 하면 "권한이 거부되었습니다(공개 키)"라는 오류가 발생합니다. 내 서버의 auth.log를 보면 인증 전에 이런 일이 발생합니다. 내 키와 .ssh 폴더에 대한 권한이 괜찮아 보입니다. 또한 ssh를 시도할 때 -vv를 사용하면 올바른 키 파일을 사용하려고 시도하지 않는 것 같습니다.
작동하는 유일한 방법은 -i arg를 사용하고 키 경로를 지정하는 것입니다. (내 .ssh 폴더에 있음) 이전에 키를 설치했는데 문제가 없었습니다. 유일한 차이점은 이번에는 ssh-copy-id를 사용하는 대신 키 파일을 서버에 scp한 다음 cat >>를 사용하여 인증된 키 파일에 추가해야 한다는 것입니다.
서버를 일시적으로 불안정하게 만든 다음 ssh-copy-id를 사용하지 않고 문제를 추가로 디버깅하거나 해결할 수 있는 방법을 아는 사람이 있습니까?
-vv 출력(어떤 이유로 유효한 키가 시도되지도 않습니다.)
OpenSSH_6.7p1 Raspbian-5+deb8u2, OpenSSL 1.0.1k 8 Jan 2015
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to $host [$ip address] port $port.
debug1: Connection established.
debug1: key_load_public: No such file or directory
debug1: identity file /home/ben/.ssh/id_rsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/ben/.ssh/id_rsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/ben/.ssh/id_dsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/ben/.ssh/id_dsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/ben/.ssh/id_ecdsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/ben/.ssh/id_ecdsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/ben/.ssh/id_ed25519 type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/ben/.ssh/id_ed25519-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.7p1 Raspbian-5+deb8u2
debug1: Remote protocol version 2.0, remote software version OpenSSH_6.7p1 Debian-5+deb8u2
debug1: match: OpenSSH_6.7p1 Debian-5+deb8u2 pat OpenSSH* compat 0x04000000
debug2: fd 3 setting O_NONBLOCK
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug2: kex_parse_kexinit: [email protected],ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha1,diffie-hellman-group-exchange-sha1,diffie-hellman-group1-sha1
debug2: kex_parse_kexinit: [email protected],[email protected],[email protected],ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,[email protected],[email protected],[email protected],[email protected],[email protected],ssh-ed25519,ssh-rsa,ssh-dss
debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-ctr,[email protected],[email protected],[email protected],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,[email protected],[email protected],[email protected],arcfour256,arcfour128,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,[email protected]
debug2: kex_parse_kexinit: [email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],hmac-sha2-256,hmac-sha2-512,hmac-sha1,[email protected],[email protected],[email protected],[email protected],hmac-md5,hmac-ripemd160,[email protected],hmac-sha1-96,hmac-md5-96
debug2: kex_parse_kexinit: [email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],hmac-sha2-256,hmac-sha2-512,hmac-sha1,[email protected],[email protected],[email protected],[email protected],hmac-md5,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: [email protected],ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha1
debug2: kex_parse_kexinit: ssh-rsa,ssh-dss,ecdsa-sha2-nistp256,ssh-ed25519
debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-ctr,[email protected],[email protected],[email protected]
debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-ctr,[email protected],[email protected],[email protected]
debug2: kex_parse_kexinit: [email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],hmac-sha2-256,hmac-sha2-512,hmac-sha1
debug2: kex_parse_kexinit: [email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],hmac-sha2-256,hmac-sha2-512,hmac-sha1
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: setup [email protected]
debug1: kex: server->client aes128-ctr [email protected] none
debug2: mac_setup: setup [email protected]
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 10:b9:0c:fa:8f:69:f2:eb:84:bd:69:32:50:1b:dd:ee
debug1: Host '$host' is known and matches the ECDSA host key.
debug1: Found key in /home/ben/.ssh/known_hosts:1
debug2: kex_derive_keys
debug2: set_newkeys: mode 1
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug2: set_newkeys: mode 0
debug1: SSH2_MSG_NEWKEYS received
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug2: service_accept: ssh-userauth
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug2: key: /home/ben/.ssh/id_rsa ((nil)),
debug2: key: /home/ben/.ssh/id_dsa ((nil)),
debug2: key: /home/ben/.ssh/id_ecdsa ((nil)),
debug2: key: /home/ben/.ssh/id_ed25519 ((nil)),
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Trying private key: /home/ben/.ssh/id_rsa
debug1: Trying private key: /home/ben/.ssh/id_dsa
debug1: Trying private key: /home/ben/.ssh/id_ecdsa
debug1: Trying private key: /home/ben/.ssh/id_ed25519
debug2: we did not send a packet, disable method
debug1: No more authentication methods to try.
Permission denied (publickey).
카탈로그 및 내용의 상세정보 .ssh
,
ls - ld
drwxr-xr-x 2 $user $user .
ls -l
total 16
-rw------- 1 $user $user 733 May 3 16:27 authorized_keys
-rw------- 1 $user $user 3243 May 9 15:33 key
-rw-r--r-- 1 $user $user 751 May 9 15:33 key.pub
-rw-r--r-- 1 $user $user 444 May 9 15:31 known_hosts
답변1
내가 알 수 있는 한, ssh
와 같은 이름을 가진 키 id_rsa
와 id_dsa
몇 가지 다른 키만 검색되며 모두 id_
질문 출력에 표시된 방식으로 시작됩니다. 다른 이름의 키가 있는 경우 명령줄이나 SSH 구성 파일에서 이를 지정해야 합니다.
key
ssh가 검색하는 파일 이름으로 파일 이름을 바꾸 거나, .ssh/config
관련 섹션으로 업데이트하거나, 이 -i
옵션을 사용하세요.
이런 것을 사용할 수 있습니다.ssh/config
host my.target.server
IdentityFile ~/.ssh/key
당신은 또한 사용할 수 있습니다,
host *
IdentityFile ~/.ssh/key
~/.ssh/key
모든 연결 에 SSH를 강제로 사용합니다 .
id_dsa
키 파일의 이름을 바꾸는 것이 더 쉬울 수도 있습니다 id_rsa
(해당 파일이 key
실제로 출력에서 호출된다고 가정).
답변2
MaxAuthTries
의 지침을 살펴보세요 /etc/ssh/sshd_config
. 기본값은 6으로 설정되어 있습니다. 이 옵션으로 명시적으로 설정된 키를 사용하기 전에 여러 개의 로컬 키를 시도하는 경우 -i
, 시도 횟수가 해당 값을 초과하면 로그인이 거부될 수 있습니다 MaxAuthTries
.
자세한 내용은 다음을 참조하세요.man sshd_config