sshpass 설치 및 사용법
포스트
취소

sshpass 설치 및 사용법

sshpass란

  • SSHPass는 클라이언트에서 서버로 ssh 접속 시 패스워드 요구 없이 할 수 있는 도구입니다.
  • 클라이언트에서 키 생성(ssh-keygen)하여 서버로 배포(ssh-copy-id)합니다.
  • ssh, scp 수행 시 배치모드로 패스워드를 전달하거나 스크립트에 패스워드를 기재하여 접속이 가능합니다.

설치

LINUX

1
2
3
4
5
# Ubuntu
apt-get install sshpass

# RHEL/CentOS
yum install sshpass

macOS

Homebrew에서는 공식적으로 SSHPass 지원을 하지 않으므로 아래 명령어로 직접 다운로드 및 설치를 진행합니다.

1
2
3
4
5
curl -O -L [https://fossies.org/linux/privat/sshpass-1.09.tar.gz](https://fossies.org/linux/privat/sshpass-1.09.tar.gz) && tar xvzf sshpass-1.09.tar.gz
cd sshpass-1.09
./configure
sudo make install
sshpass

개인키, 공개키 생성

ssh-keygen 명령어를 사용하여 Private/Public 키 쌍을 생성하여 아래 경로에 저장합니다.

  • Private(개인키) : ~/.ssh/id_rsa
  • Public(공개키) : ~/.ssh/id_rsa.pub
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
ssh-keygen
  Your identification has been saved in /root/.ssh/id_rsa.
  Your public key has been saved in /root/.ssh/id_rsa.pub.
  The key fingerprint is:
  ed:6b:78:50:2d:69:0b:0d:19:f4:bf:97:ae:a3:bb:30 root@123.45.67.89
  The key's randomart image is:
  +--[ RSA 2048]----+
  |       .oo       |
  |        o.       |
  |         o.o     |
  |        ..*..    |
  |        S+.o.    |
  |        ...  . . |
  |        Eo. . o  |
  |        .oo..o   |
  |         o=+.o.  |
  +-----------------+

ssh 접속

1
2
3
4
sshpass -p "패스워드" ssh -o StrictHostKeyChecking=no -p "포트" "ID"@"서버 주소"

# 예시
sshpass -pP@ssw0rd ssh -o StrictHostKeyChecking=no -p22 test@123.45.67.89
  • SSH 포트가 22인 경우 -p 옵션 생략 가능

서버에 공개키 배포하기

1
2
3
4
sshpass -p "패스워드" ssh-copy-id -p "포트" "ID"@"서버 주소"

# 예시
sshpass -pP@ssw0rd ssh-copy-id test@123.45.67.102

서버에 해당 계정에 대한 공개키 배포 후 접속

1
ssh "서버 주소"

ssh 명령어 실행

1
2
3
4
sshpass -p "패스워드" ssh -o StrictHostKeyChecking=no "ID"@"서버 주소" "명령어"

# 예시
sshpass -pP@ssw0rd ssh -o StrictHostKeyChecking=no test@123.45.67.89 hostname

scp 파일 전송

1
2
3
4
sshpass -p "패스워드" scp -o StrictHostKeyChecking=no "로컬 파일경로" "ID"@"서버 주소":"서버 파일경로"

# 예시
sshpass -pP@ssw0rd scp -o StrictHostKeyChecking=no hello.txt test@123.45.67.89:/home/test/hello.txt
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.

댓글