SSH 접속자, 파일 전송 ⚡

2021-08-12

SSH 접속자, 파일 전송 ⚡

SSH 접속자, 파일 전송 ⚡ ■ 여러가지 상황 속 ssh 프로토콜을 이용한 파일 전송하는 방법 일반적인 상황 # scp "전송할 파일" "목적지 사용자"@"전송할 서버 경로":"저장할 서버의 경로" 기본 SSH 포트가 22번이 아닌 경우 # scp -P "Port 번호" "1234" "전송할 파일" "목적지 사용지"@"저장할 서버의 경로" 디렉토리 전송

SSH 접속자, 파일 전송 ⚡

FTP나 별도의 파일 전송 도구 없이 SSH만으로 파일을 주고받을 수 있는 scp 명령어 사용법을 정리한다. scp(Secure Copy Protocol)는 SSH 기반으로 암호화 통신을 하면서 파일을 전송하기 때문에 별도 설정 없이 SSH 접속이 되는 서버라면 바로 쓸 수 있다.

■ 여러가지 상황 속 ssh 프로토콜을 이용한 파일 전송하는 방법

  • 일반적인 상황 (기본 포트 22)
code snippet
# scp "전송할 파일" "목적지 사용자"@"전송할 서버 경로":"저장할 서버의 경로"
  • 기본 SSH 포트가 22번이 아닌 경우 (-P 옵션 사용)
code snippet
# scp -P "Port 번호" "전송할 파일" "목적지 사용자"@"서버 IP":"저장할 서버의 경로"

-P는 대문자임에 주의. 소문자 -p는 파일의 수정시간, 접근시간, 권한을 유지하는 옵션이다.

  • 디렉토리 전송 방법 (-r 옵션)
code snippet
# scp -P "Port번호" -r "전송할 디렉토리" "목적지 사용자"@"서버 IP":"저장할 서버의 경로"

디렉토리 전송 시 -r(recursive) 옵션을 꼭 붙여줘야 한다. 없으면 디렉토리라고 에러가 난다.

scp 주요 옵션 요약

옵션의미
-PSSH 포트 지정 (대문자)
-r디렉토리 재귀 전송
-p타임스탬프·권한 유지
-C전송 중 압축 (느린 네트워크에서 유용)
-i개인키 파일 지정
  • 전송 전 목적지 사용자 계정이 해당 경로에 쓰기 권한이 있는지 반드시 확인하자. 권한이 없으면 전송은 됐는데 파일이 안 보이는 상황이 생길 수 있다.