scp 파일 전송시 expect 를 이용해서 비밀번호 자동입력 하기 > 서버관리

본문 바로가기

사이트 내 전체검색

뒤로가기 서버관리

scp 파일 전송시 expect 를 이용해서 비밀번호 자동입력 하기

페이지 정보

작성자 관리자 (61.♡.24.46) 작성일 15-09-29 16:37 조회 4,025 댓글 0

본문

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]

추천0

댓글목록 0

등록된 댓글이 없습니다.

전체 91건 4 페이지
게시물 검색
Copyright © Baragi.Net All rights reserved.
PC 버전으로 보기