1. SSH Client와 Server 설치
기본적으로 ubuntu는 client가 설치되어 있으며, 터미널에 아래의 명령어를 입력하여 server 설치
sudo apt install openssh-server
설치가 완료되면, 아래의 명령어를 입력하여 설치 및 실행 상태 확인
sudo systemctl status ssh
서비스가 실행 중이 아니라면, 아래의 명령어를 입력하여 실행 가능
sudo systemctl enable ssh
sudo systemctl start ssh
2. SCP를 이용한 파일 전송 및 수신
scp는 ssh 프로토콜을 이용하여 파일을 전송 및 수신하므로, ssh의 기본 포트인 22번 포트를 이용하며, 아래와 같은 기본 명령어 형태를 가짐
scp [보내는 파일 or 폴더 경로] [저장될 폴더 경로]
더 자세한 형태는 아래와 같음
scp [-P 포트번호] [-r] [로컬의 파일 or 폴더 경로] [원격지 계정@원격지 주소]:[원격지의 파일 or 폴더 경로]
or
scp [-P 포트번호] [-r] [원격지 계정@원격지 주소]:[원격지의 파일 or 폴더 경로] [로컬의 파일 or 폴더 경로]
위의 명령어 중, 위의 명령어는 로컬에 위치한 파일이나 폴더를 원격지의 어느 위치에 전송하는 명령어이며, 아래의 명령어는 반대의 경우임
-P
옵션은 ssh를 기본 포트로 이용하지 않는 경우에 특정 포트 번호를 적어 이용할 수 있는 옵션이며, -r
옵션은 폴더 전체(내부의 파일까지)에 대해 적용할 때 이용하는 옵션임
3. SCP를 이용한 파일 전송 및 수신 예시
로컬 파일 a.txt 전송
scp a.txt 원격지계정@원격지주소:/home/ubuntu/
로컬 폴더 b 전송
scp -r b 원격지계정@원격지주소:/home/ubuntu/
원격지 파일 c.txt 수신
scp 원격지계정@원격지주소:/home/ubuntu/c.txt /home/ubuntu/
원격지 폴더 d 수신
scp -r 원격지계정@원격지주소:/home/ubuntu/d /home/ubuntu/
특정 포트를 이용한 폴더 전체 전송
scp -P 포트번호 -r e 원격지계정@원격지주소:/home/ubuntu/