keyfile을 이용한 ssh 접속 방법
A 서버에서 B 서버로 ssh 접속시에 B 서버의 계정 비밀번호 입력 안하고 접속하는 방법이다.
이 방법은 B서버의 계정 비밀번호를 모를때 유용하다. 또한 keyfile에 암호를 적용하기 때문에 2중 보안이 된다.
서버 설정 방법
A서버
공개키/개인키를 생성한다.
생성 할때의 키 파일명은 꼭 identity로 해야한다.
[SERVER.A:/home1/irteam/.ssh] ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/home1/irteam/.ssh/id_rsa): /home1/irteam/.ssh/identity Enter passphrase (empty for no passphrase): 암호입력 Enter same passphrase again: 암호입력 Your identification has been saved in /home1/irteam/.ssh/identity. Your public key has been saved in /home1/irteam/.ssh/identity.pub. The key fingerprint is: 50:63:b9:8f:10:03:28:db:34:a1:12:b5:19:75:09:e5 irteam... |
여기에서의 암호는 공개키의 passphrase이다. (사용자 계정의 암호가 아니다!)
이 암호는 넣어도되고 안넣어도 된다. 단, 암호를 넣으면 이 keyfile를 이용해서 접속시에 여기서 설정한 암호를 넣어야한다. (2중 보안)
B서버A서버에서 생성한 공개키를 갖다둔다.
[SERVER.B:/home1/irteam/.ssh] vi authorized_keys |
vi로 authorized_key 파일 생성해서 A서버의 /home1/irteam/.ssh/identity.pub 파일의 내용을 넣는다.
위와 같이 설정하면 keyfile를 이용한 ssh 접속 설정은 모두 완료한 것이다.
주의) A서버에서의 개인키 파일명은 identity, B서버에서의 공개키 파일명은 authorized_keys로 해야한다.
접속 방법
ssh를 이용해서 아래와 같이 접속하면 keyfile 비밀번호를 물어본다. 이 비밀번호 입력하면 B서버로 접속된다.
[SERVER.A:/home1/irteam/.ssh] ssh -l irteam [서버B 아이피] Enter passphrase for key '/home1/irteam/.ssh/identity': 암호입력 Last login: Thu Oct 28 16:35:12 2010 from 10.255.255.255 [SERVER.B.recruit:/home1/irteam] |
참고 문서 : http://www.ibm.com/developerworks/library/l-keyc.html