블로그 이미지
JEEN

서울에 사는 꽃청년의 IT찌질모험기

Rss feed Tistory
IT/Tips 2009.07.29 23:00

[ SSH ] .ssh/config 에 대해서...

  사실은 ssh 를 쓰면서 그냥 단순하게 2년넘게 써왔었습니다.

jeen$ ssh [host]

  이렇게요.

  저희회사에서는 개발용 서버로 들어가기 위해서는 꼭 어떤 서버를 거쳐서 들어가야 합니다.
 
  제가 쓰는 PC 에서 A라는 서버에 접속해서 A 의 DB 서버로 들어간다든가, A 랑 관계있는 어떤 서버로 들어간다든가 하는 것이죠.

  그래서 맥북에서 A의 DB 서버로 들어갈 때는

jeen$ ssh lee@a.server
lee@a.server's password:
lee@a.server:~$ ssh a.db.server
lee@a.db.server's password:
lee@a.db.server:~$ _
....
// or
....
jeen$ ssh -t lee@a.server ssh lee@a.db.server
lee@a.server's password:
lee@a.db.server's password:
lee@a.db.server:~$ _

  아, 거기에 맥북에서의 계정은 jeen 인데, 회사에서 쓰이는 일반적인 제 계정은 lee 라고 합니다. 서로간의 계정이 다르니까, 매번 접속시에 접속할 서버계정에 Username 을 맞춰줘야 되죠.
  대략 이런 플로우라는 겁니다. (귀찮아서 사실 키 설정도 안했는데, 매번 치는 게 오히려 귀찮은데 말이죠..)

  그럼 이걸 한방에 어떻게 맥북 -> a.db.server 로 들어가느냐...

  예전에 북마크해둔 링크가 하나 있어서 꺼내봅니다.

* http://openlab.dino.co.jp/2007/10/03/17550797.html (일본어)

  즉 $HOME/.ssh/config 를 설정하면 된다는 것입니다.
Host a.db
  HostName a.db.server
  ProxyCommand ssh lee@a.server nc %h %p
 
  이런 설정입니다.

$ ssh a.db
lee@a.server's password:
lee@a.db.server's password:
lee@a.db.server:~$ _

  그러면 각 서버별로 패스워드를 물어옵니다. 이것마저도 귀찮으면 ssh-keygen 으로 인증키를 만듭니다.

$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/jeen/.ssh/id_rsa):  (엔터)
Enter passphrase (empty for no passphrase): (엔터)
Enter same passphrase again: (엔터)
Your identification has been saved in ....
Your public key has been saved in ......
The key fingerprint is:
..........

 그리고 생성된 id_rsa.pub 파일을 각서버의 $HOME/.ssh/authorized_keys 에 첨부합니다.

 맥북 -> A서버 -> A서버의 DB 서버 일경우에는
 보통 맥북에서 생성된 인증키를 A서버에
 A서버에 생성된 인증키를 A서버의 DB 서버에 첨부합니다.
 ....
 ....
 물론 일반적인 경우에는 그렇지만... 위의 .ssh/config 를 설정한 상태에서는
A서버의 DB서버에는 A서버의 인증키가 아니라 맥북의 인증키가 필요합니다.

 최근에는 집에서 잠깐 회사서버로 접근하거나 하는 일이 많아져서... 회사 프록시 타고 들어가야 하는 일등이 많이 있고, 이럴때마다 계정이름 등등.. 많이 귀찮기도 해서... ssh_config 설정한 김에 그냥 시간들여서 모조리 인증키 설정하고 자주 사용하는 서버에는 한방에 갈  수 있도록 설정도 했습니다.

  물론 SCP 의 경우에도 적용됩니다. 위의 설정이 끝난 다음에는 맥북 -> A 서버의 DB서버로 파일을 전송할 시에도 위의 ssh_config 에서 설정한 Host 를 그대로 사용할 수 있습니다. 

  한순간의 귀찮음을 잠깐만 극복하면... 앞으로 편해질 수 있다는 사실...
  참 쉽게 간과해버리죠. (역시 인간이란 재미있어...)

** 추:
  그리고 이번기회로 예전에 @saillinux a.k.a 세일덕이 Y모사에서 SSH 때문에 옥상에 끌려갔다는 사실을 비웃었던 것에 대해서 심심한 사과를 ...
신고
TOTAL 473,807 TODAY 179

티스토리 툴바