3. OS이야기/03. Shell Script

sftp 스크립트 사용하기

OSSW(Open Source System SoftWare 2014. 5. 27. 11:02

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 허시영