ssh 명령을 입력하는 PC를 client, ssh 명령으로 접속할 PC를 서버라고 부르겠다.
client가 서버로 ssh 접속 시 보통은 아래와 같이 패스워드를 물어본다. 패스워드를 물어보지 않고 접속하는 방법을 아래서부터 알아본다.
1. rsa key 쌍 생성
패스워드가 아닌 인증서로 client와 server가 인증할 수 있도록 rsa key를 만든다. ssh-keygen 명령어로 key를 생성하며 만들어진 id_rsa는 비밀키, id_rsa.pub은 공개키가 된다.
2. server .ssh 폴더에 authorized_keys 파일 생성
옮기는 방법에는 2가지가 있다. scp 명령어로 옮긴 후 파일의 이름을 바꾸는 방법으로 아래 그림과 같다. client에서는 scp 명령으로 id_rsa.pub (공개키)를 server로 옮긴다. server에서는 받은 id_rsa.pub 파일 내용 그대로 authorized_keys 파일을 만든다.
< client에서 scp 명령 >
< id_rsa.pub 파일로 authorized_keys 파일 생성 >
두 번쨰 방법으론 나도 이번에 처음 본건데 client key를 server의 authorized_keys 파일로 만들어주는 명령어가 있다. 다음의 그림과 같다.
< client에서 ssh-copy-id 명령으로 key 전달 >
< server에서는 authorized_keys 파일이 생성됨 >
3. /etc/ssh/sshd_config 파일 수정
/etc/ssh/sshd_config 파일을 열어보면 ssh 관련된 설정 값이 있다. 아래와 같이 빨간색 부분들이 주석처리 되어있다면 해제하고 저장한다. 그리고 service sshd restart 명령으로 ssh 데몬을 재시작한다.
댓글 없음:
댓글 쓰기