sftp 스크립트 사용하기
SSH(Secrure SHell) 의 패스워드 입력없이 사용 하기
1. 로컬 서버에서 아래 실행 해서 public key 생성
$ ssh-keygen -t dsa
위명령어 실행하면, 계정 홈디렉토리의 .ssh 디렉토리가 생기고, id_dsa.pub 생성됨.
2. 접속할(target) 리모트 서버에서, sftp 로 로그인할 계정의 홈디렉토리 생성
$ mkdir ~/.ssh
.ssh 의 디렉토리 권한은(660) 이어야 함.
3. 로컬서버에서 아래 실행
$ scp ~/.ssh/id_dsa.pub user@SERVER:.ssh/authorized_keys
위명령어 실행시 최초에는 패스워드를 입력하고, 그후에는 패스워드 없이 사용가능
리모트 서버에서 ~/.ssh 에 authorized_keys 파일 생성 확인
4. 이러면 패스워드 없이 scp 및 sftp 사용 세팅 끝
5. 스크립트를 이용한 sftp 이용하기
#!/bin/sh
REMOTE_FTP_ADDR="리모트서버 IP"
REMOTE_USER="로그인할 계정"
REMOTE_UPLOAD_PATH='리모트 디렉토리 위치"
LOCAL_UPLOAD_PATH="로컬 디렉토리 위치"
sftp $REMOTE_USER@REMOTE__FTP_ADDR << EOF
cd $REMOTE_UPLOAD_PATH
lcd $LOCAL_UPLOAD_PATH
put $1
quit
EOF
** 단 이기종 간에 선작업으로 SSH 22 번 port 를 열어주는 방화벽작업이 선행 되어야 함 **
write by 허시영