본문 바로가기
IT

ssh 접속하여 비밀번호 없이 job 던지기 - sshpass 사용 예제

by 태환아범 2022. 3. 28.
728x90

안녕하세요.

 

지난번에 ssh 접속을 비밀번호 없이 할 수 있도록 설정하는 작업을 했었습니다.

 

2022.02.07 - [IT] - password 없이 ssh 접속하기 - ssh-keygen -t rsa 사용 LINUX 환경

 

password 없이 ssh 접속하기 - ssh-keygen -t rsa 사용 LINUX 환경

안녕하세요 오늘은 ssh 접속을 password 없이 하는 방법을 간단히 설명드리고자 합니다. UNIX 개인 서버에서 공용 서버의 개인 ID로 접속하려니 매번 password 치기가 귀찮아서 알아봤습니다. 1. 접속할

thabum.tistory.com

하지만, 사용하다보면 이런 설정을 사용할 수 없을 때가 있더라구요. 

 

ssh로 비번 없이 접속할 수 있어야 ssh -X usernam@servername "cd path ;ls -rltc" 이런식으로 job을 다른 서버로 던지는 작업을 할 수 있을 텐데, 비번을 써야한다면 code를 짜는데 장애가 될 수 있습니다. 이런것들을 해결하기 위해서 있는 command가 sshpass 입니다. 안깔려있는 경우들이 많아서 설치부터 말씀드리겠습니다.

 

https://sourceforge.net/projects/sshpass/

 

Non-interactive ssh password auth

Download Non-interactive ssh password auth for free. Sshpass is a tool for non-interactivly performing password authentication with SSH's so called "interactive keyboard password authentication". Most user should use SSH's more secure public key authentiac

sourceforge.net

 

여기에 접속하시면 아래와 같은 site에 접속됩니다. 여기에서 download를 클릭하면 sshpass-1.08.tar.gz 이런 파일을 download 받을 수 있습니다. 이 파일을 설치할 곳에 넣습니다. root 권한을 가지고 계신분들은 /bin 에 설치하시면 되지만, 그걸 가지고 일하시는 분들은 별로 없기 때문에 개인 디렉토리에 압축해제하시는걸 추천드립니다. 

 

 

개인디렉토리로 옮기시고 압축을 해제합니다. tar xvf filename 은 아시리라 생각합니다.

 

./configure

 

sudo make install

 

비번 확인 후 시작

 

사용하실 때는

 

/home/username/sshpass/sshpass-1.08/sshpass -ppassword ssh -X username@servernme "cd path;ls -rltc"

 

이런식으로 사용하시면 됩니다.

 

 -p 옵션과 passoword를 띄어쓰는게 특이한데, 어떤 곳은 띄어쓰기를 넣으라고도 하긴하는데, 저는 항상 붙여서 사용하고 있습니다. 이렇게 해서 안되면 띄어쓰시는 것도 괜찮겠죠.

 

이런 방법을 사용하시면 따로 비번을 적지 않고 다른 서버에 job을 던져서 그 서버에서 처리하도록 할 수 있습니다.

728x90

댓글