$ 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라는 이름으로 전송한다.
$ 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로 접속할 때 사용한다.
me@remotebox:id_rsa.pub
에서 me는 클라이언트의 id, remotebox는 ip주소입니다.