웹사이트 검색

Linux에서 SFTP를 사용하여 파일/디렉터리를 업로드하거나 다운로드하는 방법


sFTP(보안 파일 전송 프로그램)는 FTP(파일 전송 프로토콜)와 유사한 방식으로 작동하는 안전한 대화형 파일 전송 프로그램입니다. 그러나 sFTPFTP보다 더 안전합니다. 암호화된 SSH 전송을 통해 모든 작업을 처리합니다.

공개 키 인증 및 압축과 같은 몇 가지 유용한 SSH 기능을 사용하도록 구성할 수 있습니다. 지정된 원격 시스템에 연결하여 로그인하고, 사용자가 다양한 명령을 실행할 수 있는 대화형 명령 모드로 전환합니다.

이 문서에서는 SFTP를 사용하여 전체 디렉터리(하위 디렉터리 및 하위 파일 포함)를 업로드/다운로드하는 방법을 보여줍니다.

SFTP를 사용하여 Linux에서 파일/디렉터리를 전송하는 방법

기본적으로 SFTP는 원격 서버에 대한 보안 연결을 설정하기 위해 동일한 SSH 전송을 채택합니다. 비밀번호는 기본 SSH 설정과 유사하게 사용자를 인증하는 데 사용되지만 원격 호스트에 대한 간편하고 안전한 연결을 위해 SSH 비밀번호 없는 로그인을 생성하여 사용하는 것이 좋습니다.

원격 FTP 서버에 안전하게 연결

원격 SFTP 서버에 연결하려면 먼저 보안 SSH 연결을 설정한 다음 그림과 같이 SFTP 세션을 생성하세요.

sftp [email 

원격 호스트에 로그인하면 아래 예와 같이 대화형 sFTP 명령을 실행할 수 있습니다.

sftp> ls			#list directory 
sftp> pwd			#print working directory on remote host
sftp> lpwd			#print working directory on local host
sftp> mkdir uploads		#create a new directory

SFTP를 사용하여 디렉토리를 업로드하는 방법

전체 디렉터리를 원격 Linux 호스트에 업로드하려면 put 명령을 사용하세요. 그러나 아래 스크린샷과 같이 원격 호스트의 작업 디렉터리에 디렉터리 이름이 없으면 오류가 발생합니다.

따라서 먼저 원격 호스트에 동일한 이름의 디렉토리를 생성한 후 로컬 호스트에서 업로드하기 전에 -r가 마법을 수행하여 하위 디렉토리와 하위 파일도 복사할 수 있도록 합니다.

sftp> put -r  linux-console.net-articles
sftp> mkdir linux-console.net-articles
sftp> put -r linux-console.net-articles

전송된 원본 파일의 수정 시간, 액세스 시간 및 모드를 유지하려면 -p 플래그를 사용하세요.

sftp> put -pr linux-console.net-articles

SFTP를 사용하여 디렉토리를 다운로드하는 방법

원격 Linux 호스트에서 로컬 시스템으로 fstools-0.0이라는 전체 디렉터리를 다운로드하려면 다음과 같이 -r 플래그와 함께 get 명령을 사용하세요.

sftp> get -r fstools-0.0

그런 다음 디렉토리가 모든 내용과 함께 다운로드되었는지 로컬 호스트에서 현재 작업 디렉토리를 체크인하십시오.

SFTP 셸을 종료하려면 다음을 입력하세요.

sftp> bye
OR
sftp> exit

또한 SFTP 명령 및 사용 팁을 읽어보세요.

사용자가 원격 호스트의 전체 파일 시스템에 액세스하는 것을 방지하려면 보안상의 이유로 chroot Jail을 사용하여 SFTP 사용자를 홈 디렉터리로 제한할 수 있습니다.

그게 다야! 이 기사에서는 SFTP를 사용하여 전체 디렉터리를 업로드/다운로드하는 방법을 보여주었습니다. 아래 댓글 섹션을 사용하여 이 기사/주제에 대한 귀하의 생각을 알려주십시오.