루트 사용자에게만 설정된 경우 ssh-keygen -t rsa가 작동합니까?
즉, 로컬 시스템의 사용자 이름이 나트륨이고 위의 명령을 사용하여 키를 생성하고 원격 시스템에서 /root/.sshauthorized_keys에 키를 배치하면 작동합니다.
그러나 원격 시스템에서 키가 /home/natrium/.sshauthorized_keys에 있는 경우
여전히 비밀번호를 묻는 메시지가 나타납니다. 이는 예상된 동작입니까, 아니면 위 절차에 문제가 있는 것입니까?
감사해요..
답변1
원격 시스템에 대한 권한을 확인하십시오.
$ chmod 700 ~/.ssh
$ chmod 600 ~/.ssh/authorized_keys
dist(ubuntu/debian에 있음)에 설치할 수 있는 도구가 있습니다.SSH-복사-ID이것은 당신을 위해 이것을 할 것입니다:
$ ssh-copy-id <remote>
그래도 작동하지 않으면 "-v" 옵션을 사용하여 ssh를 시도하여 더 자세한 메시지를 확인하세요.
긴 버전:
#From client to server
client$ scp ~/.ssh/id_rsa.pub remote_server.org:
# next, setup the public key on server
server$ mkdir ~/.ssh
server$ chmod 700 ~/.ssh
server$ cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
server$ chmod 600 ~/.ssh/authorized_keys
server$ rm ~/id_rsa.pub
답변2
~sodium/.ssh/authorized_keys에서 /까지 권한을 확인하세요. 이들 중 하나라도 쓰기 가능한 SSH 키가 있으면 신뢰할 수 없습니다.
키가 필요한 사용자로 ssh-keygen을 실행하십시오. 연결하려는 시스템에서 실행되어야 합니다.
ssh-copy-id는 대상 시스템의 ID를 키를 사용하려는 시스템으로 복사합니다.
답변3
답변4
키를 생성하는 위치는 중요하지 않지만 저장 위치는 중요합니다.
한 시스템에서 다른 시스템으로 SSH를 수행하려면 개인 키가 id_rsa로 SSH를 수행하는 계정의 .ssh 폴더에 있어야 하고, 공개 키는 SSH를 수행하려는 계정의 .ssh/authorized_keys 파일에 있어야 합니다. SSH를 통해 연결하고 있습니다. 키는 컴퓨터용이 아닌 사용자용입니다. 따라서 이를 설치하는 계정은 매우 큰 차이를 만듭니다.
염두에 두어야 할 또 다른 사항은 사용 중인 SSH 버전입니다. SSH2의 경우 키는 .ssh/authorized_keys2에 있어야 합니다.
마지막으로 실제로 무슨 일이 일어나고 있는지 보려면 Lexsys의 지침을 따르고 -v 플래그를 사용하여 자세한 정보 표시 모드에서 ssh를 수행하는 것이 가장 좋습니다.