권한이 거부되었습니다(공개 키)

권한이 거부되었습니다(공개 키)

사이트에 비슷한 질문이 여러 개 있지만 내 문제를 해결하는 질문을 찾을 수 없습니다.

적응형 비트 전송률 비디오 스트리밍에 대한 몇 가지 실험을 수행 중이며 FIP가 없는 여러 (클라이언트) 노드에 액세스할 수 있으려면 (FIP를 사용하여 SSH를 통해 연결할 수 있는) (서버) 노드가 필요합니다. 하지만 개인 키 FTP를 사용하여 내가 서버에 전달한 내용은 동일합니다.

따라서 모든 노드는 key 를 사용하여 생성됩니다 my_chameleon_key.pem. 나와 서버 사이에 원격 연결이 설정되었습니다. 이제 서버에서 클라이언트로 ssh를 시도하면( ssh -i ~/.ssh/my_chameleon_key.pem -vT cc@<client_ip>여기서 server_ip는 클라이언트 IP 주소 목록에서 임의로 선택됨) 다음과 같은 출력이 표시됩니다.

OpenSSH_7.2p2 Ubuntu-4ubuntu2.10, OpenSSL 1.0.2g  1 Mar 2016
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to <server_ip> [<server_ip>] port 22.
debug1: Connection established.
debug1: key_load_public: No such file or directory
debug1: identity file /home/cc/.ssh/my_chameleon_key.pem type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/cc/.ssh/my_chameleon_key.pem-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_7.2p2 Ubuntu-4ubuntu2.10
debug1: Remote protocol version 2.0, remote software version OpenSSH_7.2p2 Ubuntu-4ubuntu2.10
debug1: match: OpenSSH_7.2p2 Ubuntu-4ubuntu2.10 pat OpenSSH* compat 0x04000000
debug1: Authenticating to <server_ip>:22 as 'cc'
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: algorithm: [email protected]
debug1: kex: host key algorithm: ecdsa-sha2-nistp256
debug1: kex: server->client cipher: [email protected] MAC: <implicit> compression: none
debug1: kex: client->server cipher: [email protected] MAC: <implicit> compression: none
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: Server host key: ecdsa-sha2-nistp256 SHA256:QaA4NOIFUybFLYXHcbg8iHuGUw1Komvn+o4Mx5bdf14
debug1: Host '<server_ip>' is known and matches the ECDSA host key.
debug1: Found key in /home/cc/.ssh/known_hosts:1
debug1: rekey after 134217728 blocks
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: rekey after 134217728 blocks
debug1: SSH2_MSG_EXT_INFO received
debug1: kex_input_ext_info: server-sig-algs=<rsa-sha2-256,rsa-sha2-512>
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Trying private key: /home/cc/.ssh/my_chameleon_key.pem
debug1: Authentications that can continue: publickey
debug1: No more authentication methods to try.
Permission denied (publickey).

마찬가지로 server_ip는 클라이언트 IP입니다.

ls ~/.ssh출력을 통해 authorized_keys known_hosts my_chameleon_key.pem전송 중에 my_chameleon_key.pem이 수정되지 않았음을 확인했습니다.

나는 -vT 추적을 탐색하는 방법을 모르는 것이 그 중 일부라고 확신하지만 여기서는 완전히 난처한 상황입니다. 이 문제를 해결하려면 어떻게 해야 합니까?

모든 서버는 CC-Ubuntu16.04입니다. 이것이 유용한 정보라면 sudo로 실행하는 것은 도움이 되지 않습니다. 추가 정보를 제공할 수 있으면 알려주시기 바랍니다.

편집: 이 시점에서 몇 가지 명령을 실행했기 때문에 /var/log/auth.log가 꽤 막혔습니다. 다음은 (이론적으로) 내 SSH여야 하는 최신 내용입니다. 그러나 SSH를 다시 ​​시도하면 업데이트되지 않으므로 확실하지 않습니다.

Aug  8 15:47:16 mwhicks2abvsserver sshd[46351]: Accepted publickey for cc from 24.211.146.9 port 52223 ssh2: RSA SHA256:a6N6S9PllSObVyDZXJdG1GWUOkKhFTpIJ3Rae4sW8uQ
Aug  8 15:47:16 mwhicks2abvsserver sshd[46351]: pam_unix(sshd:session): session opened for user cc by (uid=0)
Aug  8 15:47:16 mwhicks2abvsserver systemd-logind[2861]: New session 8 of user cc.

또한 여기에 내 전체 auth.log 파일에 대한 링크가 있습니다. 여기에 넣는 것을 고려하기에는 너무 길어졌습니다.https://pastebin.com/vsyXD7bM

답변1

먼저 개인 및 공개 키 파일에 올바른 권한이 있는지 확인하십시오. SSH는 너무 개방적인 권한을 좋아하지 않습니다. 나는 일반적으로 공개 키가 포함된 .ssh 디렉토리에 chmod 700을 설정하고 공개 키와 개인 키에 chmod 600을 설정했습니다.

내 경우에는 사용자와 그룹의 이름을 변경하고 홈 디렉터리의 이름을 변경했지만 사용자 자체의 홈 디렉터리를 변경하는 것을 잊어버렸기 때문에 이 문제가 발생했습니다. 따라서 /etc/passwd home은 여전히 ​​이전 디렉토리를 가리킵니다.

관련 정보