• 돌아가기
  • 아래로
  • 위로
  • 목록
  • 댓글

쉘스크립트에서 자동으로 PW입력 후 SCP,ssh 사용하기

달소 달소 3217

1

6

 

안녕하세요. 달소입니다.

 

이번에도 리눅스 관련 팁으로 돌아왔습니다!

 

쉘스크립트에서 ssh나 scp를 사용하게되면 키등록을 하지않는 이상 반드시 pw를 물어보는데요.

이걸 스크립트에서 처리하는방법입니다.

 

expect 설치하기

먼저 상호작용에 필수적인 expect 패키지를 설치해줍니다.

영어 그대로 기대하라는 뜻이 있듯이 특정응답에 따라서 명령어 값을 입력하게 도와줍니다.

ex) ssh 로그인시 password: 라는 응답이 나오듯이요.

 

설치는 OS에 따라 다릅니다.

 

Cent/Rocky/Rhel

yum install expect

Ubuntu

apt install expect

image.png.jpg

 

예제 스크립트

백문이 불여일견이듯.. 스크립트를 사용해서 이해하는게 가장 빠릅니다.

 

scp.sh 라는 스크립트를 만들었을때 내용은 아래와 같습니다.

 

expect는 상호 응답을 기다리는데 맨처름 spawn은 있는그대로의 명령어를 입력하게 해줍니다.

여기서 scp를 통해 접속을 시도하고

password: 라는 응답을 받으면 send를 통해 비밀번호를 넘겨줍니다. 항상 마지막에는 \r을 넣어주세요.

eof는 End-of-file로 파일의 끝을 의미합니다.

#/bin/bash
echo "SCP Upload Script"

expect << EOF
spawn scp -o StrictHostKeyChecking=no scp_upload_test.txt admin-sv@192.168.56.101:/home/admin-sv

expect "password:" {send "[비밀번호]\r"}
expect eof

EOF

 

잘구동되면 아래처럼 됩니다.

 

image.png.jpg

응용한다면 무궁무진하게 사용가능합니다 ㅎㅎ

신고공유스크랩
6
1등
동도리군 2023.01.27. 01:22
ㅎㅎㅎ 이런것도 있네요
웹사이트 큰거 만들때 테스트 배포 자동으로 되도록 할때 이것저것 일이 많았는데
이걸 활용할 수 있으면 git 에서 마지막 부분만 다 받아서 업로드 되도록 처리할 수 있겠네요.

댓글 쓰기 권한이 없습니다. 로그인

취소 댓글 등록

cmt alert

신고

"님의 댓글"

이 댓글을 신고하시겠습니까?

댓글 삭제

"님의 댓글"

삭제하시겠습니까?


목록

공유

facebooktwitterpinterestbandkakao story
번호 분류 제목 글쓴이 날짜 조회 추천
오픈소스 개인 구독 추적기 Wallos 1 달소 2시간 전23:26 51 +1
질문 /var/www 폴더가 삭제되었습니다. ㅜ,.ㅜ 2 니속사정 2일 전20:42 259 +1
잡담 jellyfin 자원 진짜 안쓰네요 1 kmw_ 2일 전19:26 374 +1
3902
image
달소 21.06.22.13:19 19510 0
3901
image
달소 22.03.17.22:09 19077 +14
3900
image
달소 20.12.25.17:18 16244 +5
3899
image
달소 23.01.27.14:15 16204 +8
3898
image
달소 21.01.02.13:32 8174 0
3897
image
달소 21.04.28.14:05 8129 +6
3896
image
똥쓰똥쓰 22.09.24.16:54 8026 +3
3895 정보
image
달소 21.05.06.11:38 7930 +4
3894
image
달소 21.02.26.15:02 7690 +1
3893
image
달소 21.07.30.17:12 7085 +4
3892
image
달소 22.03.17.23:40 7084 +2
3891 정보
image
달소 21.06.11.13:24 6951 +4
3890 질문
image
달소 21.04.23.12:51 6137 +3
3889
image
ExpBox 22.04.16.23:19 5922 +4
3888 정보
image
달소 22.05.06.13:12 5898 +3
3887
image
에프킬라 22.04.19.22:08 5889 +6
3886
image
달소 21.07.30.11:40 5746 +1
3885 정보
image
달소 21.10.21.17:59 5606 +3
3884
image
달소 23.04.09.14:13 5221 +4
3883
image
달소 22.03.17.22:25 5101 +11