공든탑앱 열기

원격 접속과 파일 전송

리눅스마스터 2급 · 인터넷 활용 · 약 8분

쉽게 말하면

멀리 있는 서버에 내 자리에서 접속하거나 파일을 주고받는 명령들이에요. ssh는 암호를 걸어 원격으로 명령을 치는 것, scp는 파일 복사, rsync는 바뀐 부분만 맞춰 보내기예요.

시험용 정의

원격 서버에 접속하거나 파일을 주고받는 명령들이다. ssh(암호화 원격 접속), scp·sftp(SSH 기반 파일 전송), rsync(바뀐 부분만 동기화), wget·curl(웹에서 내려받기)이 핵심이다.

비유로 이해하기

ssh는 암호 걸린 전화로 원격 비서에게 일을 시키는 것, scp는 그 전화선으로 서류를 봉투째 보내는 것, rsync는 바뀐 페이지만 골라 보내는 것이다.

자세히

원격 접속

명령설명
ssh user@host암호화된 원격 로그인 (22번 포트)
ssh -p 2222 user@host포트 지정 (소문자 p)
ssh -l kim host다른 계정으로 접속(= ssh kim@host)
ssh -X user@hostX11 포워딩 (원격 GUI 프로그램을 내 화면에)
ssh user@host 명령로그인 없이 명령 하나만 실행
ssh-keygen · ssh-copy-id키 쌍 생성 · 공개키를 서버의 ~/.ssh/authorized_keys에 등록 (비밀번호 없이 로그인)
telnet host [포트]평문 원격 접속(보안 취약). 요즘은 포트 열림 확인용으로 주로 씀(예: telnet www.kait.or.kr 443)
telnet -l kim host다른 계정으로 텔넷 접속. 서버 쪽 패키지 이름은 telnet-server

파일 전송

명령설명
scp 파일 user@host:경로SSH로 복사. 디렉터리는 -r, 포트는 대문자 -P
sftp user@host대화형 암호화 파일 전송 (get, put, ls)
rsync -avz 원본/ user@host:대상/차이만 전송. -a 속성 보존, -v 자세히, -z 압축, --delete 원본에 없는 파일 삭제
ftp host대화형 FTP (평문). get 내려받기, put 올리기, mget·mput 여러 개, hash 전송 진행을 # 로 표시, bin·ascii 모드, bye 종료

웹에서 내려받기

명령설명
wget URL파일 내려받기. -O 저장 이름, -c 이어받기, -r 재귀
curl URL다양한 프로토콜로 요청·응답 출력. -O 원격 파일명으로 저장, -o 이름 지정, -I 헤더만

시험에 이렇게 나와요

확인 문제

Q1. 원격 서버의 /var/log/messages 파일을 내 컴퓨터로 암호화된 채로 복사하고 싶다. 알맞은 명령은?

  1. cp server01:/var/log/messages .
  2. ftp server01
  3. telnet server01 /var/log/messages
  4. scp root@server01:/var/log/messages .
정답 보기

4번 scp root@server01:/var/log/messages .

scp는 SSH를 이용한 파일 복사라 전송 내용이 암호화된다. 형식은 scp [사용자@]호스트:원격경로 로컬경로. ftp와 telnet은 평문이고 cp는 로컬 복사다.

Q2. FTP 접속 중 로컬 파일을 서버로 올리는 명령은?

  1. put
  2. hash
  3. lcd
  4. get
정답 보기

1번 put

put(여러 개 mput). get은 내려받기.

Q3. ssh로 192.168.5.13에 kim 계정으로 접속하는 명령으로 옳은 것은?

  1. ssh -p kim 192.168.5.13
  2. ssh -l kim 192.168.5.13
  3. ssh -u kim 192.168.5.13
  4. ssh 192.168.5.13 kim
정답 보기

2번 ssh -l kim 192.168.5.13

ssh -l kim 192.168.5.13이다. kim@192.168.5.13으로 써도 같다. -p는 포트 번호를 지정하는 옵션이다.

Q4. FTP로 큰 파일을 받을 때 진행 상황을 # 기호로 보여 주게 하는 명령은?

  1. bin
  2. hash
  3. prompt
  4. status
정답 보기

2번 hash

hash다. 받는 동안 일정량마다 #을 찍어 진행 상황을 보여 준다. bin은 바이너리 전송 방식으로 바꾼다.

Q5. scp에서 원격 서버의 SSH 포트 2222를 지정하는 옵션은?

  1. -p 2222
  2. --port 2222
  3. -P 2222
  4. -o 2222
정답 보기

3번 -P 2222

scp는 대문자 -P. 소문자 -p는 시간·권한 보존. ssh는 소문자 -p.

Q6. 원격 GUI 프로그램 화면을 내 X 서버로 가져오는 ssh 옵션은?

  1. -X
  2. -L
  3. -G
  4. -D
정답 보기

1번 -X

-X(X11 포워딩)다. -L은 로컬 포트 포워딩, -D는 동적 포트 포워딩이다.

Q7. 변경된 부분만 전송해 디렉터리를 동기화하는 명령은?

  1. rsync
  2. scp
  3. sftp
  4. wget
정답 보기

1번 rsync

rsync다. 바뀐 부분만 보내 빠르게 동기화한다. scp는 매번 파일 전체를 복사한다.

헷갈리기 쉬운 O·X

sftp는 FTP 프로토콜에 SSL을 입힌 것으로 21번 포트를 쓴다.

정답 보기

X sftp는 SSH(22번) 기반이다. FTP+SSL/TLS는 FTPS.

ssh와 scp에서 포트 지정 옵션은 둘 다 소문자 -p다.

정답 보기

X ssh -p, scp -P. 자주 나오는 함정.

ssh-copy-id는 내 공개키를 서버의 ~/.ssh/authorized_keys에 추가해 준다.

정답 보기

O 이후 비밀번호 없이 키로 로그인.

함께 보면 좋은 개념