반응형
SSH로 원격 서버에 접속할 때 매번 패스워드를 입력하는 것은 상당히 귀찮은 작업이다.

특히 여러 개의 노드를 관리할 때는 패스워드를 잊어 먹을 수도 있고 심지어는 패스워드를 메일이나 메신저로 쉽게 주고 받기도 한다.


그것보다는 PKI 방식으로 Private Key를 개인이 가지고, 접속 대상 서버에 Public Key를 올려서 PKI 방식으로 접속하는 것이

패스워드 입력도 막고 암호를 노출하는 보안 위험도 줄일 수 있다.


그런데 이게 노드가 많으면 여간 귀찮은 작업이 아니다. 그래서 그 과정을 자동화 할 수 있는 Python 프로그램을 만들어 봤다.


다음과 같이 서버에서 다운 받아서 (첨부 파일을 서버에 올려 놨음)

wget http://tinyurl.com/autosshosc
(또는 https://www.dropbox.com/s/kkdsvad3ulau2dw/AutoSSH.py?dl=0)

mv autosshosc autossh
cmmod 755 autossh

한 다음에 다음과 같이 실행하면

./autossh <대상 호스트 IP or hostname> <ID> <Password. 1회만 입력) [옵션: 서버의 alias로 사용하고 싶은 이름]

==> 대상 호스트 명을 IP:Port 형식으로 지정할 수 있는 기능이 추가되었다 (2014/12/04)


다음과 PKI 가 자동으로 대상 서버에 심어지고 alias와 계정 명이 .ssh/config 파일에 등록이 되어

전체 호스트 명을 칠 필요 없이 alias 이름 만으로 접속이 가능해 진다. (계정 명도 칠 필요 없음)


ssh alias명

scp alias명:/<경로> ... (.ssh/config에 alias로 있기 때문에 scp 등에서도 사용 가능)


물론 아래와 같이 접속도 가능하다.


ssh <전체 도메인 또는 IP>


툴의 사용 방법은 다음과 같다.

Usage autossh <hostname> <username> <password> [alias]


소스: 매번 첨부가 귀찮아 아래 링크 공유합니다.

https://www.dropbox.com/s/kkdsvad3ulau2dw/AutoSSH.py?dl=0








Posted by Hey Jerry
,