원 격지에 있는 서버로 접속을 하기 위해선 SSH를 이용합니다. 하지만 서버의 비밀번호가 복잡하거나 길다면 입력하는 것이 짜증날수가 있는데 ssh-kegen 을 이용하여 미리 키 파일을 만들어 비밀번호 입력할 필요없이 로그인을 가능하게 할수 있습니다.

– 서버 설정
개인키 파일을 만들어 줍니다.

[root@yongbok ~]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): Enter 을 눌러 넘어갑니다.
Enter passphrase (empty for no passphrase): 비밀번호를 입력 합니다.
Enter same passphrase again: 비밀번호를 재입력 합니다.
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
c0:eb:4f:42:3a:b4:26:e9:80:95:4c:a8:10:8e:d8:85 root@yongbok.net
The key’s randomart image is:
+–[ RSA 2048]—-+
|. .. |
|++E. . |
|=.o o |
|oo . o |
|. + . o S |
|.. o = |
|o o = o . |
| o o . + |
| . . |
+—————–+


id_rsa, id_rsa.pub 두개의 파일이 생성 된걸 확인 할수 있습니다.

[root@yongbok ~]# ls -l ~/.ssh
total 4
-rw——- 1 root wheel 1743 1 11 22:51 id_rsa
-rw-r–r– 1 root wheel 398 1 11 22:51 id_rsa.pub

id_rsa.pub 파일을 아래와 같이 적당하게 복사합니다.

[root@yongbok ~]# cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys

id_rsa 파일을 FTP 또는 SCP 로 안전하게 클라이언트에 복사를 해옵니다.

ssh 설정 파일에서 대략 55번 라인에 AuthorizedKeysFile 파일 부분을 주석 해제 처리 합니다.
(ee 는 FreeBSD의 기본 에디터이며 리눅스의 경우 vi, vim, nano 등등을 사용하시면 되겠습니다.)

[root@yongbok ~]# ee /etc/ssh/sshd_config


설정 적용을 위해 ssh 를 재시작 해줍니다.
리눅스

[root@yongbok ~]# /etc/init.d/sshd restart

FreeBSD

[root@yongbok ~]# /etc/rc.d/sshd restart
Stopping sshd.
Starting sshd.

– 클라이언트 설정
원격지에 있는 서버로 SSH 접속을 하기 위해 PuTTY 프로그램을 다운받아 설치 후 사용자 환경에 맞게 설정을 해줍니다.
PuTTY 는 KLDP에서 한글판으로 다운로드 하실수 있습니다.

http://kldp.net/projects/iputty/download

설치 후 윈도우 시작메뉴 – > 프로그램 -> 한글 PuTTY – > PuTTYgen 을 실행합니다.
PuTTY Key 생성 프로그램이 나오면 Load 를 눌러 복사한 rsa 키 파일을 불러옵니다.
(필자는 편의상 id_rsa 파일을 ruo91_rsa 로 변경하여 불러 왔습니다.)

불러옴과 동시에 Passphrase 창이 뜨는데 처음에 ssh-kegen 으로 만들때 입력한 비밀번호를 입력 해줍니다.

정상적으로 입력하여 주면 아래와 같이 공지사항 메세지가 나오게 됩니다.

아래의 Key passphrase 와 Confirm passphrase 두곳 값들을 모두 초기화 시켜 줍니다.
즉, 아무것도 입력 없이 만들어 주게 되면 서버에 로그인시 공개키 확인 후 바로 로그인 되도록 해줍니다.

위의 Save private key 버튼을 눌러 ruo91.ppk 라는 이름으로 파일을 저장 시켜줍니다.

이제 PuTTY Key Generator 를 닫고 PuTTY 를 실행 합니다.
이전에 사용한 세션을 불러옵니다. (세션 정보가 없다면 새로 만듭니다.)

왼쪽 접속 하위 메뉴의 SSH – > 인증 쪽에 들어가서 인증 개인키 파일을 찾아 읽어옵니다.

변경한 설정을 기존 세션에 저장 해줍니다.

변경된 세션에 접속 해보면 비밀번호를 입력 하지 않아도 로그인이 되는 것을 확인 할수 있습니다.