일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 파이썬 책 추천
- 혼자 공부하는 파이썬
- Unix
- IT
- 파이썬 독학
- ABAP
- ADsP 독학
- DELETE ADJACENT DUPLICATES FROM
- SFTP put
- ABAP 중복 행 삭제
- SFTP 자동인증
- ADsP
- ftp
- SFTP 스크립트
- SFTP script
- Python 독학
- SAP
- sftp
- ADsP 한달
- 데이터에듀
- 혼공파
- 보안싫어
- SFTP 접속방법
- Today
- Total
람토리의 IT스토리
UNIX 패스워드 없이 SFTP 접속 하는 법 (FTP와 SFTP 차이) 본문
패스워드 없이 SFTP 접속하는 스크립트
안녕하세요 람토리 입니다!!
요즘 회사에서 보안규정이 강화되면서 Server To Server 접속방식이 FTP -> SFTP 로 변경되게 되었는데요
자세한 가이드가 없어서 애를 많이 먹었어요 ㅠ_ㅠ...
혹시 저처럼 헤메시는 분들이 계실거 같아서 첫 포스팅은 이 내용으로 해 볼까 합니다!
* FTP vs SFTP 차이점
FTP : 기본 21번 포트 이용 | SFTP : 기본 22번 포트 이용 |
파라미터로 패스워드 전송하여 자동인증방식 지원 | 파라미터로 패스워드 전송 불가능 |
로 핵심은 파라미터 전송 부분입니다.
SFTP는 파라미터로 패스워드 전송이 불가능하기 때문에, 프롬프트가 패스워드 입력을 기다립니다.
기업같이 Batch Shell 을 이용하여 자동 SFTP 파일 GET / PUT 이 일어난다면 곤란한 부분이죠 ㅠ_ㅠ...
* FTP 접속방식
adress='127.0.0.1' # remote target server ip
id='ramtol' # target user
password='ramtory' # target user login password
ftp -n $address << EOF
user $id $password # 패스워드가 파라미터로 전송되어 자동로그인 가능
cd 타겟 서버 절대경로
lcd 로컬 서버 절대경로
put 파일이름
quit # quit = bye = exit
EOF
* SFTP 접속방식
SFTP는 위와같은 방식이 불가능하여,
사전에 From(=local) Server 와 Destination(=target) Server 사이에
특수 해시값으로 인증을 거쳐놓습니다.
두 서버만 알 수 있는 암호문자로 통행권을 미리 발급받아놓고, 자유롭게 통신하는 셈이죠.
1) From 서버의 SFTP를 실행할 계정에 ssh 인증키를 발급받아 놓습니다.
$ ssh-keygetn -t rsa
(엔터)xn번
▶From 서버계정 홈 디렉토리에 .ssh 디렉토리가 생기며 그 하위에 id_rsa.pub 이 발행됩니다.
2) id_rsa.pub 파일을 Destination Server에 등록
id_rsa.pub 에는 ssh 인증 해시값과 맨~~ 뒤에 From 서버의 계정@ip(또는 서버명) 값이 있습니다.
이 파일을 Destination 서버 접속할 계정 홈에 파일명을 authorized_keys 로 변경해서 등록합니다.
3) From 서버에서 한번 접속을 해 줍니다.
$ sftp ramtol@127.0.0.1
▶From 서버 .ssh/known_hosts 에 Destination 서버 IP가 등록되며 마침내 자동인증이 가능해 집니다.
* 최초 접속을 하지 않으면 Verification Error 발생.
* 기존 인증키로 접속할 Destination IP가 변경된다면 known_hosts 파일에 등록된 IP를 삭제한 뒤 다시 위와같이 접속 해 준다.
4) Shell Script 수행
sftp -oPort=22 ramtol@127.0.0.1 << EOF # -oPort 는 생략 가능. SFTP 포트가 22가 아닌경우 명시할것
cd 타겟서버 절대경로
lcd 로컬서버 절대경로
put 파일명
quit
EOF
저는 처음에 접속을 해주지 않아서 Verification 에러가 발생했어요 ㅠ...
원인 찾는데도 오래걸렸구요 ㅠ_ㅠ
이글을 보시는 분들은 빠르게 해결 하실 수 있으면 좋겠습니다 ♡
'IT 정보 > IT 기술' 카테고리의 다른 글
ABAP 중복된 행 지우기 (DELETE ADJACENT DUPLICATES) (0) | 2020.01.13 |
---|