scp 파일 전송시 expect 를 이용해서 비밀번호 자동입력 하기
페이지 정보
본문
FTP 로 파일 전송시에 비번이 평문으로 전송되므로, scp 를 이용한 백업이 권장된다.
이에, 백업 스크립트 작성에서 scp 를 이용할 때, 비번을 자동으로 입력하는 방법을 기술한다.
1. 우선, 아래 내용으로 백업 실행파일을 만든다.
[code]
# cat expect_scp_backup.sh
#========
#!/usr/bin/expect -f
set FILENAME [lindex $argv 0]
set DIR [lindex $argv 1]
set timeout -1
set PASS "비밀번호"
# connect via scp
spawn scp $FILENAME 아이디@xxx.xxx.xxx.xxx:$DIR
#######################
expect {
-re ".*es.*o.*" {
exp_send "yes\r"
exp_continue
}
-re ".*sword.*" {
exp_send "$PASS\r"
}
}
interact
#========
[/code]
원격 서버의 IP 와 아이디 비밀번호는 스크립트 안에 들어 있다.
arg로 원격폴더명과 백업하는 파일명을 받는다.
2. 사용법
[code]
# expect_scp_backup.sh 파일명 원격폴더
[/code]
이에, 백업 스크립트 작성에서 scp 를 이용할 때, 비번을 자동으로 입력하는 방법을 기술한다.
1. 우선, 아래 내용으로 백업 실행파일을 만든다.
[code]
# cat expect_scp_backup.sh
#========
#!/usr/bin/expect -f
set FILENAME [lindex $argv 0]
set DIR [lindex $argv 1]
set timeout -1
set PASS "비밀번호"
# connect via scp
spawn scp $FILENAME 아이디@xxx.xxx.xxx.xxx:$DIR
#######################
expect {
-re ".*es.*o.*" {
exp_send "yes\r"
exp_continue
}
-re ".*sword.*" {
exp_send "$PASS\r"
}
}
interact
#========
[/code]
원격 서버의 IP 와 아이디 비밀번호는 스크립트 안에 들어 있다.
arg로 원격폴더명과 백업하는 파일명을 받는다.
2. 사용법
[code]
# expect_scp_backup.sh 파일명 원격폴더
[/code]
추천0
댓글목록
등록된 댓글이 없습니다.