SSH key를 이용하여 자동로그인하자

정지원·2020년 5월 4일
0

ssh-keygen 으로 생성하기

$ ssh-keygen -t rsa

-t rsa : rsa라는 암호화 방식으로 키를 생성한다.
passphrase : 일종의 비공개키이다. (자동 로그인을 위해 생략)

키는 기본적으로 ~/.ssh 폴더에 id_rsa(private key)와 id_rsa.pub(public key)가 생성된다. 여기서 public key인 id_rsa.pub 파일을 접속하려는 서버의 ~/.ssh/authorized_keys에 입력하면 된다.

서버로 파일 전송

$ scp $HOME/.ssh/id_rsa.pub me@remotebox:id_rsa.pub

remotebox에 id_rsa.pub라는 이름으로 전송한다.

public key 서버에 등록하기

$ cat ~/.ssh/id_dsa.pub | ssh me@remotebox "cat >> ~/.ssh/authorized_keys"
$ ssh-copy-id me@remotebox

위는 둘 다 Client에서 서버로 한번에 등록하는 명령어이다. (같은 기능이므로 하나만 실행하도록 하자) 이 때, 서버에 .ssh 폴더가 없다면 가서 직접 만들어 줘야한다. 서버에 .ssh 폴더가 있다면 서버로 파일 전송도 안 하고 위 명령어만 Client에서 입력하면 된다.

$ ssh me@remotebox
$ mkdir ~/.ssh
$ cat $HOME/id_rsa.pub >> $HOME/.ssh/authorized_keys

위 명령어는 서버로 파일 전송을 하고난 뒤 해야 한다. '>>'는 서버에 이미 파일이 있을 경우 overwrite가 아닌 뒤에 append 한다.

서버 접속

$ ssh me@remotebox
$ ssh -i other_rsa.pub me@remotebox

-i : 다른 public key로 접속할 때 사용한다.

참고

1개의 댓글

comment-user-thumbnail
2020년 7월 9일

me@remotebox:id_rsa.pub에서 me는 클라이언트의 id, remotebox는 ip주소입니다.

답글 달기