Linux

[Linux] sftp

크리스피코드 2023. 8. 19. 15:09

sftp

sftp(Secure File Transfer Protocol)은 파일을 안전하게 전송하기 위한 프로토콜로 SSH(Secure Shell) 프로토콜 위에서 동작한다. SSH의 보안 기능을 활용하기 때문에 사용자 인증 및 권한 관리, 데이터의 전송 등을 암호화하여 기존 ftp보다 더욱 안전하게 사용할 수 있다.

 

sftp 접속

기존에 SSH를 사용하고 있었다면 특별한 설정없이 사용할 수 있다.

 

나는 MacOS에서 터미널을 사용해 접속하고자 한다.

 

sftp -P [포트번호] [사용자명]@[아이피주소]

 

명령어

기본적으로 리눅스와 동일한 명령어를 사용한다. 앞에 'local'을 뜻하는 l을 붙이면 현재 로컬에서도 경로를 이동하거나 디렉터리를 생성할 수 있다. 다만 로컬의 파일 삭제나 디렉터리 삭제는 지원하지 않는다.

 

get 명령어로 다운로드한 파일은 lpwd 명령어로 사용할 수 있는 현재 로컬 디렉터리에 저장된다. 저장 경로를 옮기고 싶은 경우 lcd 명령을 사용해 로컬 경로를 옮기면 된다. 마찬가지로 put 명령어로 업로드할 때 서버에 저장되는 위치는 pwd 명령어로 확인할 수 있는 현재 서버의 경로이다.

 

명령어 설명
ls 서버 파일 및 디렉터리 목록 조회
lls 클라이언트 파일 및 디렉터리 목록 조회
pwd 서버 현재 디렉터리
lpwd 클라이언트 현재 디렉터리
cd [디렉터리명] 서버 디렉터리 이동
lcd [디렉터리명] 클라이언트 디렉터리 이동
get [파일명] 서버 파일 다운로드
mget [파일명1] [파일명2] ... 서버 파일 여러 개 다운로드
put [파일명] 클라이언트 파일 업로드
mput [파일명1] [파일명2] ... 클라이언트 파일 여러 개 업로드
rm [파일명] 서버 파일 삭제
mkdir [디렉터리명] 서버 디렉터리 생성
lmkdir [디렉터리명] 클라이언트 디렉터리 생성
rmdir [디렉터리명] 서버 디렉터리 삭제
exit 연결 종료 및 나가기