Server Management/LInux Server

putty에서 ssh-keygen으로 ssh 자동 로그인하기 (암호없이 로그인하기)

BAGE 2008. 8. 21. 21:49
  출처:http://jwmx.tistory.com/272

[주의사항]
chmod 755 ~/.ssh 
chmod 644 ~/.ssh/authorized_keys



PuTTY와 TuTTY 모두 OpenSSH 서버로부터 만들어진 인증키를 이용하여 로그인할 수 있습니다. 또한 개인 키를 암호없이 만들면 암호 입력없이 로그인할 수 있습니다.

  우선 텔넷으로 서버에 접속합니다. 인증키에 대한 암호를 입력해야 함으로, 당연히 ssh 를 이용한 텔넷을 이용하는 것이 안전하겠지요. ssh-keygen을 이용하여 ssh 인증키를 생성합니다.

사용자 삽입 이미지

  인증키를 담는 파일 생성 위치와 파일 이름을 묻게 되는데, 기본 값을 사용하기 위해 엔터키를 누릅니다.
사용자 삽입 이미지

  다음은 인증키를 보호하기 위한 암호를 입력할 차례입니다. 여기서 입력하는 암호는 인증키를 위한 암호이지 텔넷에 접속할 때 사용하는 암호가 아닙니다. 아래 글에서 PuttyGen을 사용하여 개인키를 만들 때 이해가 되실 것입니다.
사용자 삽입 이미지

  암호 입력이 옳바른지 다시 한번 암호를 입력합니다.
사용자 삽입 이미지

  아래와 같이 fingerprint까지 출력되었다면 정상 적으로 인증키가 만들어진 것입니다.
사용자 삽입 이미지

  생성된 인증키 파일은 .ssh에 있습니다. .ssh로 이동합니다.
사용자 삽입 이미지

  파일이 정상적으로 생성이 되었지요.
사용자 삽입 이미지

  id_rsa는 개인키이고 서버에 접속하는 클라이언트쪽에서 필요한 파일입니다. id_rsa.pub는 공개키로 서버가 가지고 있어야 하는데, 파일 이름을 반드시 authorized_keys 로 변경해 주어야합니다.
사용자 삽입 이미지

  텔넷이나 VNC나 SSH를 이용하여 프로그램이 (1) 서버에 접속하게 되면 (2) 프로그램은 개인키를 서버에 제시하게되고, (3) 서버는 .ssh 에 있는 authorized_keys 파일 값을 비교 확인하여 로그인을 허가하게 됩니다.

  서버에서 할 일은 모두 끝났습니다. 이제 이 서버에 접속하려는 클라이언트쪽에서 해야할 일입니다.

  생성된 개인키, id_rsa를 ftp나 기타 방법으로 컴퓨터에 복사합니다. 이제 이 개인키를 가지고 PuTTY 나 TuTTY에서 로그인할 때 사용하는 인증키를 만들겠습니다.

 
PuTTY 홈페이지다운로드 페이지에서 PuTTYgen을 내려받습니다. 설치파일이 아니므로 바로 실행하시면 됩니다.

  [Load]
버튼을 클릭합니다. 그리고 서버로부터 복사한 id_rsa 파일을 선택합니다.
사용자 삽입 이미지
 

  그러면 암호를 물어 오는데, 인증키를 생성했을 때 사용한 암호를 입력합니다.
사용자 삽입 이미지

  키를 이상없이 읽어 들였다면 아래와 같이 설명 글이 출력됩니다.
사용자 삽입 이미지


  이제 텔넷 접속에 사용할 암호를 공백으로 수정해 줍니다. 개인키만 확인하면 로그인이 되도록 수정한다는 말씀이 되겠습니다.
사용자 삽입 이미지

  화살표가 가르키는 암호를 모두 삭제합니다. 그리고 Save private key를 이용하여 적당한 곳에 개인키를 저장합니다.
사용자 삽입 이미지


이제 PuTTY나 TuTTY를 실행합니다. 이전 서버 접속에 대한 정보를 Load 합니다.
사용자 삽입 이미지


  [Connection/Data]로 이동해서 로그인 ID를 입력합니다.
사용자 삽입 이미지


  이제 [Connection/SSH/Auth]로 이동한 후 PuTTYgen에서 저장한 개인크를 선택하여 줍니다.
사용자 삽입 이미지


  다음 사용을 위해 이 정보를 저장합니다.
사용자 삽입 이미지

  이제 [Open]버튼으로 텔넷을 접속하여 보십시오. 이전과는 달리 암호 확인 없이 로그인이되지요.
사용자 삽입 이미지

  PuTTYgen에서 만들어진 개인키는 매우 조심해야 합니다. 암호 확인 없이 텔넷에 접속할 수 있기 때문에 잘못 관리하셨다가는 큰 낭패를 보실 수 있습니다.

  긴 글 읽어 주셔서 감사합니다.