ssh-keygen은 루트에서만 작동합니까?

ssh-keygen은 루트에서만 작동합니까?

루트 사용자에게만 설정된 경우 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

이 시도:

ssh -v [email protected]

원격4 시스템에 로 로그인하려고 하는데 sodium에 대한 키를 설치했을 수 있습니다 natrium.

답변4

키를 생성하는 위치는 중요하지 않지만 저장 위치는 중요합니다.

한 시스템에서 다른 시스템으로 SSH를 수행하려면 개인 키가 id_rsa로 SSH를 수행하는 계정의 .ssh 폴더에 있어야 하고, 공개 키는 SSH를 수행하려는 계정의 .ssh/authorized_keys 파일에 있어야 합니다. SSH를 통해 연결하고 있습니다. 키는 컴퓨터용이 아닌 사용자용입니다. 따라서 이를 설치하는 계정은 매우 큰 차이를 만듭니다.

염두에 두어야 할 또 다른 사항은 사용 중인 SSH 버전입니다. SSH2의 경우 키는 .ssh/authorized_keys2에 있어야 합니다.

마지막으로 실제로 무슨 일이 일어나고 있는지 보려면 Lexsys의 지침을 따르고 -v 플래그를 사용하여 자세한 정보 표시 모드에서 ssh를 수행하는 것이 가장 좋습니다.

관련 정보