SSH 공개 키 설정

SSH 공개 키 설정

좋아요, 공개 키를 사용하여 SSH를 통해 로그인하기 위한 로그인을 설정하려고 합니다.

먼저 puttygen을 사용하여 비밀번호를 사용하여 rsa-ssh2 공개 키를 생성했습니다. 지침에 따라 키를 생성했습니다. 퍼티 자체 파일에 개인 키를 저장했고, 퍼티젠도 공개 키를 생성했습니다.

Putty에서는 개인 키 파일을 사용하고 rsa-ssh2 등을 사용하도록 설정했습니다.

그래서 나는 puttygen의 houtput ssh2 공개 키 콘텐츠를 c/p하고 서버에 넣었습니다.

username/.ssh/authorized_keys

그래서 퍼티를 통해 로그인을 시도했는데, 먼저 비밀번호를 묻는 대신 사용자 이름을 묻는 메시지가 표시되었습니다. 그런 다음 입력했을 때(사용자 이름과 비밀번호를 시도했지만) 내 공개 키가 유효하지 않다고 표시되었습니다.

어쩌면 내가 어떻게든 c/p'd했거나 정보를 Authorized_keys로 잘못 포맷했을 수도 있다고 생각해서 돌아가서 다시 확인했습니다. 나는 그것이 모두 한 줄에 있는지, 적절한 간격을 두고 있는지 등을 확인합니다.

또한 다음 파일을 확인했는데 /etc/ssh/ssh_config다음과 같은 내용이 있습니다.

IdentityFile ~/.ssh/id_rsa

Authorized_keys 파일의 이름을 id_rsa로 바꾸려고 했지만 재미가 없었습니다.

ssh_config에서 해당 줄을 다음으로 변경해 보았습니다.

IdentityFile ~/.ssh/authorized_keys

…기쁨이 없습니다.

내 공개 키의 형식이 잘못되었거나 PuTTY가 올바르게 구성되지 않았을 수도 있다는 생각이 나서 친구에게 서버에 임시 계정을 만들고 내 공개 키를 추가해 달라고 요청한 다음 PuTTY를 통해 로그인할 수 있었습니다. ..그의 서버에 연결하면 키에 대한 비밀번호를 묻는 메시지가 표시되고 문제 없이 로그인됩니다.

그래서 그는 나에게 위의 것들을 보라고 제안했지만 그는 무엇을 확인해야할지 몰랐습니다. 여기 전문가를 끌어들이는 것 같아요 :P

아이디어?

답변1

권한을 확인하세요. OpenSSH는 사용자의 홈 디렉터리 ~/.ssh 또는 ~/.ssh/authorized_keys가 누구나 쓰기 가능한 경우 공개 키 인증을 허용하지 않습니다. 또한 ~/.ssh 및 ~/.ssh/authorized_keys도 그룹 쓰기가 가능하지 않아야 합니다. IdentityFile을 기본값으로 두십시오. 서버 측과 아무 관련이 없습니다. 이는 UNIX/Linux의 SSH 클라이언트가 사용하는 기본 개인 키 파일을 가리킵니다. ssh_config는 OpenSSH sshd 서버가 아닌 ssh 클라이언트에서만 사용됩니다. Authorized_keys의 내용은 다음과 같이 로그인이 승인된 각 공개 키에 대해 한 줄이어야 합니다.

ssh-rsa AAA.../Us= 내 공개 키 설명

여기서...는 Base64 문자 묶음입니다( [a-zA-Z/+=]). PuTTYGen은 PuTTY 및 OpenSSH 호환이라는 두 가지 형태의 키를 생성할 수 있습니다. OpenSSH 호환은 위 형식에서 하나의 긴 줄입니다. PuTTY 형식인 경우 PuTTYGen으로 다시 가져오고 OpenSSH로 저장할 수 있습니다.

답변2

결국 ssh-keygen을 사용하여 내 서버에서 공개/개인 키를 생성한 다음 개인 키를 puttygen으로 가져와서 퍼티용 .ppk 파일로 저장했는데 작동했습니다.

아직도 무엇이 문제인지는 모르지만, puttygen에 의해 생성된 공개 및/또는 개인 키와 관련이 있는 것 같습니다... :/

편집하다:

아아아아, 알아냈어! 이는 내 서버가 2048비트 키를 원하고 Puttygen을 사용하여 1024비트 키를 생성하기 때문입니다.

관련 정보