sshpass

By | 2026년 8월 20일
Table of Contents

sshpass

비밀번호를 이용해 ssh 접속을 할 때, 비밀번호 입력을 자동화합니다.
Shell script 등에서 원격접속을 해야 할 때 사용합니다.

주의할 것은 히스토리에 비밀번호가 평문으로 남게됩니다.

설치법

sudo apt-get install sshpass

사용법

sshpass -p 'ssh접속비밀번호' ssh user@host

비밀번호를 파일에 입력해 놓으면 히스토리에 남지 않습니다.

vi ~/password.txt
sshpass -f ~/password.txt ssh user@host

파일 디스크립터를 이용해서 비밀번호 전달할 수 있습니다.

# 파일 디스크립터 3번에 비밀번호를 할당/연결
exec 3<<< "my_secret_password"

# -d 3 옵션으로 3번 FD에서 비밀번호를 읽도록 실행
sshpass -d 3 ssh user@remote-host

# 사용 후 FD 3 닫기
exec 3>&-

SSHPASS 환경변수로 비밀번호를 전달받을 수 있습니다.

# 명령어 앞에 공백 한 칸 추가하면 히스토리에 남지 않습니다. (bash 기준)
 SSHPASS='my_secret_password' sshpass -e ssh user@remote-host
exit
history

원격접속 + 원격지 명령 실행

sshpass -p 'ssh접속비밀번호' ssh user@host "sh /test.sh"

답글 남기기