본문 바로가기
IT&DEV - IT & 개발

SSH를 통해 파일을 전송하는 방법(FTP 안될때)

by Hoft 2023. 5. 29.

 

 

안녕하세요.

최근에 회사에서 테스트를 진행하다가 FTP가 막혀있는 서버에 대해

파일전송 방법을 알아보다가 

지금까지 몰랐던 SSH를 통한 파일전송을 알게되어 포스팅합니다 ㅎㅎ

 

진작 알았다면 지금까지 많이 썼을텐데 

회사에서는 FTP를 또 접속하려면 추가인증도 받아야하고 여간 번거로운게 아니거든요 ㅠ 

 

알아보도록 하죠!!

 

SSH를 통해 파일을 전송하는 방법은 다음과 같습니다 : )

 

  1. SSH 클라이언트 설치SSH 클라이언트를 시스템에 설치해야 합니다. 대표적인 SSH 클라이언트로는 OpenSSH(오픈SSH), PuTTY(푸티), SecureCRT(시큐어CRT) 등이 있습니다. 시스템에 따라 미리 설치되어 있을 수도 있습니다.
  2. 저같은 경우는 MAC의 터미널을 주로 사용합니다. 

 

  1. 터미널 열기: 터미널을 열고 SSH 클라이언트를 실행합니다.

 

  1. SSH 서버에 연결: SSH 클라이언트를 사용하여 SSH 서버에 연결합니다. 일반적으로 ssh 명령어를 사용하여 연결할 수 있습니다. 예를 들어, ssh username@example.com 명령을 사용하여 example.com 서버의 username사용자로 연결할 수 있습니다. SSH 서버의 주소와 포트 번호, 사용자 이름을 알고 있어야 합니다.

 

  1. 로그인: SSH 서버에 연결하면 사용자 이름과 비밀번호를 입력해야 합니다. SSH 서버에 액세스 권한이 있는 사용자 이름과 비밀번호를 입력합니다. 일부 SSH 서버는 공개키 인증을 사용하여 비밀번호 없이 로그인할 수도 있습니다.

 

  1. 파일 전송: 파일을 전송하려면 다음과 같은 명령어나 도구를 사용할 수 있습니다:
  • scp 명령어: scp 명령어는 SSH를 통해 파일을 복사하는 데 사용됩니다. 예를 들어, scp filename username@example.com:remote/path 명령어를 사용하여 filename 파일을 로컬 시스템에서 원격 서버의 remote/path 위치로 복사할 수 있습니다.
  • sftp 명령어: sftp 명령어는 SSH를 통해 파일을 전송하는 보다 인터랙티브한 방식을 제공합니다. sftp 명령어를 실행하면 FTP와 유사한 명령어를 사용하여 로컬 시스템과 원격 서버 간에 파일을 전송할 수 있습니다.
  1. 연결 종료: 파일 전송을 마치면 SSH 세션을 종료합니다. 일반적으로 exit 명령어를 사용하여 SSH 세션을 종료합니다.

여기까지 보면 약간 어려울 수 있습니다. 

SCP의 자세한 사용법을 더 보면 

 

scp 명령어를 사용하여 파일을 전송하는 방법은 다음과 같습니다

 

 

 
scp [옵션] 소스 파일/디렉토리 목적지
  • [옵션]: 필요에 따라 옵션을 추가할 수 있습니다. 일반적으로 가장 자주 사용되는 옵션은 다음과 같습니다:
  • -r: 디렉토리 전체를 재귀적으로 복사합니다.
  • -P 포트번호: SSH 서버의 포트 번호를 지정합니다. 기본적으로 22번 포트를 사용합니다.
  • -i 개인키파일: 개인 키 파일을 지정하여 인증합니다.
  • -v: 상세한 출력을 표시합니다.
  • 소스: 전송할 파일 또는 디렉토리의 경로를 지정합니다. 로컬 파일 시스템의 경로나 원격 서버의 경로를 지정할 수 있습니다.
  • 목적지: 전송할 파일 또는 디렉토리를 저장할 위치를 지정합니다. 로컬 파일 시스템의 경로나 원격 서버의 경로를 지정할 수 있습니다.

예를 들어, 로컬 시스템의 file.txt 파일을 원격 서버의 /home/username/ 디렉토리로 복사하려면 다음 명령어를 사용합니다:

 
scp file.txt username@example.com:/home/username/

example.com은 원격 서버의 주소입니다. SSH 서버의 포트 번호를 지정해야 하는 경우 -P 옵션을 사용하여 포트 번호를 추가로 지정할 수 있습니다.

디렉토리 전체를 재귀적으로 복사하려면 -r 옵션을 사용합니다. 예를 들어, 로컬 시스템의 dir 디렉토리를 원격 서버의 /home/username/ 디렉토리로 복사하려면 다음 명령어를 사용합니다:

 

 
scp -r dir username@example.com:/home/username/

 

scp 명령어를 사용하여 파일을 전송할 때, 소스나 목적지의 경로에 공백이 포함되어 있다면 경로를 따옴표로 묶어야 합니다. 예를 들어, 로컬 시스템의 "file with spaces.txt" 파일을 원격 서버의 /home/username/ 디렉토리로 복사하려면 다음 명령어를 사용합니다:

 

 
scp "file with spaces.txt" username@example.com:"/home/username/"

 

위의 예시들을 참고하여 scp 명령어를 사용하여 파일을 전송할 수 있습니다.

 

댓글