ssh 개인키 정보를 접속하는 서버에 복사를 하게 되면, ssh 접속시, 별도로 비밀번호 입력없이 접속이 가능해 편리하다.
아직 ssh 개인키를 생성하지 않았다면 새로 생성하자.
$ ssh-keygen
이후, ~/.ssh 디렉토리에 개인키와 공개키 파일이 생성되는 것을 확인할 수 있다.
pchero@MyGalaxy:~/.ssh$ ls
id_rsa id_rsa.pub known_hosts
id_rsa 파일이 개인키 파일이고, id_rsa.pub 파일이 공개키 파일이다. ssh 통신에서 개인키 파일은 전자 상거래에서의 공인 인증서이다. 잘 보관하자.
이제 생성된 공개키 내용을 접속하고자 하는 ssh 서버에 입력해줘야 한다.접속하고자 하는 ssh 서버 계정의 ~/.ssh/authorized_keys 파일에 넣어줘야 한다.
만약 파일이 없다면 새로 생성하면 된다. 공개키 파일의 내용은 모두 TEXT 이므로 잘 긁어서 넣어주자.
이후, 테스트로 ssh 접속을 해보자. 비밀번호 입력없이 접속이 된다면 성공이다.만약 모두 정상적으로 입력했는데도 실패한다면, 다음을 참고하자.
필자의 경우, 암호 없이 ssh 접속이 안되어 ssh 로그 파일을 살펴보니 다음의 내용을 확인할 수 있었다.
Feb 17 17:44:29 stk-centos-6-x64-development sshd[5855]: Authentication refused: bad ownership or modes for file /home/pchero/.ssh/authorized_keys
Feb 17 17:44:36 stk-centos-6-x64-development sshd[5855]: Accepted password for pchero from 10.1.27.69 port 59982 ssh2
Feb 17 17:44:36 stk-centos-6-x64-development sshd[5855]: pam_unix(sshd:session): session opened for user pchero by (uid=0)
Feb 17 17:45:42 stk-centos-6-x64-development sshd[5861]: Received disconnect from 10.1.27.69: 11: disconnected by user
Feb 17 17:45:42 stk-centos-6-x64-development sshd[5855]: pam_unix(sshd:session): session closed for user pchero
Feb 17 17:46:49 stk-centos-6-x64-development sshd[5891]: Authentication refused: bad ownership or modes for file /home/pchero/.ssh/authorized_keys
Feb 17 17:46:50 stk-centos-6-x64-development sshd[5892]: Connection closed by 10.1.27.69
내용인즉, authorized_keys 파일의 퍼미션이 올바르지 않다는 것. 해당 파일의 퍼미션을 600 으로 바꿔주니 접속이 잘 되었다.
만약 위의 방법이 복잡하다면 다른 방법도 있다.
가장 쉬운 방법은 ssh-copy-id 를 사용하는 것이다.
ssh-copy-id user@hostname.example.com
이 명령어 하나면 자신의 공개키가 복사되고, 이후, 비밀번호 없이 ssh 접속이 가능해진다.
Tags: key, ssh, ssh-copy-id
[…] http://pchero21.com/3034 […]