그래서 지난 2시간 동안 저는 localhost를 통해 내 컴퓨터에 SSH를 통해 접속하려고 했습니다. 그런데 "권한이 거부되었습니다(공개키)"라고 뜹니다.
VirtualBox에서 Ubuntu 14 LTS를 실행하고 있습니다. 이것은 내 현재 설정입니다.
내 거/홈/사용자 이름디렉터리에는 "known_hosts", "initialkey" 및 "initialkey.pub" 파일이 포함된 ".ssh" 폴더가 있습니다. 내가 생성한초기 키RSA가 포함된 파일.
또한 "/etc/ssh" 폴더에 "ssh_host_rsa_key" 및 "ssh_host_rsa_key.pub"라는 두 개의 RSA 파일이 있습니다(이 RSA 키는/홈/사용자 이름/.ssh폴더). "sshd_config" 파일에는비밀번호 확인 비활성화,루트 로그인 비활성화그리고 둘 다공개 키 및 RSA 인증 활성화. "AuthorizedKeysFile"의 값은 "/root/.ssh/authorized_keys"로 설정됩니다.
"/root/.ssh/authorized_keys"에 위에서 언급한 "initialkey.pub" 파일을 복사했습니다.
모든 사용자가 최소한 "r" 권한을 갖도록 권한을 확인했습니다.
아직도 질문은 남아있습니다. 로컬 컴퓨터에 대한 SSH의 작동 방식에 대한 내 이해가 잘못되었을 수도 있습니다. 현재로서는 "openssh 서버"가 내 컴퓨터를 서버로 바꾸고 있다고 생각합니다.SSH 로컬 호스트명령을 사용하면 동일한 시스템에서 서버에 로그인할 수도 있습니다.
고쳐 쓰다: 홈 디렉터리의 권한을 변경하여 문제가 해결되었습니다. 나는 명령을 사용했다chmod 750 $HOME, 문제가 해결되었습니다. 귀하의 의견에 감사드립니다.
답변1
SSH는 키에 대해 매우 편집증적입니다. 소유자가 아닌 다른 사람이 경로에 쓸 수 있는 디렉터리가 있으면 키를 신뢰하지 않습니다. 경로에 있는 모든 디렉토리의 권한을 확인하십시오. 권한은 drwxr-xr-x
또는 와 유사해야 합니다 drwxr-x---
. drwxrwxr-x
또는 같은 권한 drwxrwxrwx
으로 인해 키를 신뢰할 수 없게 됩니다.