You are on page 1of 35

원격접속과 FTP

00 개요

01 텔넷과 SSH

02 파일 송수신
학습목표

• 텔넷 서버를 설치하고 설정할 수 있다.


• 텔넷과 SSH를 이용해, 리눅스 시스템에 접속하여 작업할 수 있다.
• FTP 서버를 설치하고 설정할 수 있다.
• FTP 클라이언트로 FTP 서버에 접속하여 파일을 주고받을 수 있다.

3
00. 개요

 내용 구성
 텔넷을 설치하고 텔넷을 이용하여
원격으로 접속하여 사용하는 방법
을 익힌다.
 SSH를 사용하여 원격 접속하는 방
법을 익힌다.
 FTP 서비스를 위한 서버를 설치하
고 FTP 클라이언트를 사용하는 방
법을 익힌다.

4
01 텔넷과 SSH
텔넷 서버 개요

 오랫동안 전통적으로 사용되어 온 원격 접속 방법


 보안에 취약
 리눅스 서버에 텔넷 서버를 설치하고 나면, 원격지에서 접속할 PC에는 텔넷
클라이언트 프로그램이 필요
 원격지의 PC(텔넷 클라이언트)에서 접속하게 되면 서버 앞에 앉아서 직접 텍
스트 모드로 작업하는 것과 완전히 동일한 효과

6
텔넷 서버 구축

 원격지에서 서버 접속할 경우 필요
 텔넷 서버 설치 과정 요약

 서버에 접속하기 위해서는 꼭 클라이언트 프로그램이 필요


 서버가 리눅스라고 클라이언트도 리눅스일 필요는 없음
 각각의 서버 프로그램은 자신에 맞는 별도의 클라이언트 프로그램이 필요

7
01. 텔넷과 SSH

 텔넷
 텔넷을 사용하려면 텔넷 클라이언트와 텔넷 서버가 필요

텔넷 클라이언트만 설치되어 있음
 텔넷 서버 설치하기
• 텔넷과 슈퍼데몬인 inetd가 같이 설치됨

inetd 동작 확인

8
01. 텔넷과 SSH

 텔넷 사용하기

0은 로컬 호스트를 의미

ctrl+C로 종료

9
01. 텔넷과 SSH

 텔넷 모드 사용하기: 텔넷을 인자 없이 사용하면 > 프롬프트가 뜨면서 텔넷 모드로 전환

open 명령으로 서버에 접속

10
01. 텔넷과 SSH

 직접 서버로 접속하기

11
01. 텔넷과 SSH

 윈도에서 텔넷 사용하기
 [설정] → [앱] → [앱 및 기능] → [선택적 기능] → [기타 Windows 기능]을 선택
 텔넷 클라이언트가 활성화

12
01. 텔넷과 SSH

 윈도 텔넷 클라이언트는 [시작]-[실행]에서 telnet을 실행

open 명령으로 서버에 접속

13
01. 텔넷과 SSH

 HPuTTY 사용하기: 원격 접속 프로그램인 PuTTY의 한글화 버전


 hputty.org에서 다운로드

14
01. 텔넷과 SSH

 OpenSSH
 텔넷과 용도는 동일하지만, 보안이 강화
 텔넷과 거의 동일하지만 데이터를 전송할 때 암호화를 한다는 점이 다름

15
01. 텔넷과 SSH

 원격지에서 보안이 강화된 서버 접속할 경우 필요


 OpenSSH 서버 설치 과정 요약

16
01. 텔넷과 SSH

 SSH로 설치
 서버와 클라이언트 동시 설치

$ sudo apt install ssh

 SSH로 처음 접속하면 암호화 기법인 RSA를 사용한 인증 키를 생성할 것인지 물어보는데,


이때 ‘yes’를 입력하면 접속
IP는 각자의 서버 IP임

17
01. 텔넷과 SSH

 SSH
 윈도우에서 HPuTTY로 접속
 윈도우에서도 SSH로 처음 접속하면 암호화 기법인 RSA를 사용한 인증 키를 생성할 것인지
물어보는데, 이때 ‘yes’를 입력하면 접속

18
02 파일 송수신
FTP 개요

 FTP(File Transfer Protocol)는 파일을 전송하기 위한 서비스


 웹에서 FTP의 고유 기능인 파일 전송을 편리하게 할 수 있게 되어서 예전보다
인기가 많이 떨어짐
 파일 전송 자체를 위해서는 성능이 뛰어남
 vsftpd는 우분투에서 제공해 줌
 vsftpd(Very Secure FTPD)는 우분투에서 기본적으로 제공되며, 리눅스와 유닉스 환경에서 보
안성과 성능이 우수한 FTP 서버로 인정받고 있음.
 proftpd는 주로 대형 사이트에서 오랫동안 인기가 많았던 ftp 서버임.

20
02. 파일 송수신

 FTP 서버 설치하기: vsFTPD

$ sudo apt install vsftpd

 FTP 설정 파일: /etc/vsftpd.conf 파일

21
02. 파일 송수신

vsftpd.conf 옵션
- anonymous_enable: anonymous(익명) 사용자의 접속을 허가할지 설정
- local_enable: 로컬 사용자의 접속 허가 여부를 설정
- write_enable: 로컬 사용자가 저장, 삭제, 디렉터리 생성 등의 명령을 실행하게 할 것인지 설정
(anonymous 사용자는 해당 없음)
- anon_upload_enable: anonymous 사용자의 파일 업로드 허가 여부를 설정
- anon_mkdir_write_eanble: anonymous 사용자의 디렉터리 생성 허가 여부를 설정
- dirlist_enable: 접속한 디렉터리의 파일 리스트를 보여줄지 설정
- download_enable: 다운로드의 허가 여부를 설정
- listen_port: FTP 서비스의 포트 번호를 설정(기본: 21번)
- deny_file: 업로드를 금지할 파일을 지정(예: deny_file={*.mpg,*.mpeg,*.avi})
- hide_file: 보여주지 않을 파일을 지정(예: hide_file={*.gif,*.jpg,*.png})
- max_clients: FTP 서버의 동시 최대 접속자 수를 지정
- max_per_ip: 1개 PC가 동시에 접속할 수 있는 접속자 수를 지정

22
02. 파일 송수신

 FTP 서버 설정하고 동작시키기: /etc/vsftpd.conf 파일


 systemd 데몬으로 관리

 동작 확인

21번(ftp) 서비스 확인

23
02. 파일 송수신

 FTP 서버 접속하기
① 다른 터미널에서 다른 사용자로 접속하여 ftp 명령으로 리눅스 시스템에 접
속하면 로그인명을 확인
② 로그인명과 암호를 바르게 입력하면 로그인되었다는 메시지를 출력하고, 로
그인하면 ftp 명령의 프롬프트인 ftp>가 출력

③ 로그인명이나 암호를 잘못 입력한 경우에는 오류 메시지 출력

24
02. 파일 송수신

25
02. 파일 송수신

 pwd, dir 명령 사용하기


• pwd 명령으로 원격 시스템의 현재 디렉터리 위치를 확인

• dir 명령으로 디렉터리의 내용을 확인

26
02. 파일 송수신

 get 명령 사용하여 파일 하
나 가져오기

 mget 명령 사용하여 파일
여러 개 가져오기

 prompt 명령 사용

27
02. 파일 송수신

 hash 명령 사용하기

 bye 명령 사용하기

28
02. 파일 송수신

 익명 FTP 사용 방법
 로그인명은 anonymous이며, 암호에
는 자신의 이메일 주소를 입력
 /etc/vsftpd.conf 파일에서 익명 허용
 익명 접속

29
FTP로 파일 보내고 받기

① ftp로 리눅스 시스템에 접속한다. user1 계정을 사용


② linux_ex/ch9 디렉터리로 이동하고 디렉터리의 내용을 확인
③ prompt와 hash 명령을 사용하여 대화형 모드를 끄고 # 표시를 활성화
④ one으로 시작하는 모든 파일을 가져오기
⑤ 로컬에 있는 data 파일을 리눅스 시스템으로 보내기
⑥ put 명령의 권한이 거부될 경우 vsftpd의 설정을 수정하고 다시 보내기

⑦ ftp를 종료

30
RroFTPD 설치와 운영

 ProFTPD
 대용량 ProFTPD 운영
LVS(Linux Virtual Server) 모듈을 커널에 설정한 다음, Load Balancing 을 한다면
대규모의 네트워크 부하를 분산시킬 수 있는 Proftpd 서비스를 할 수 있다.
 root 접속, 익명연결 모두 연결
 vsftpd와 같은 방법으로 윈도우에서 연결할 수 있다.

31
proftpd.conf 옵션

- ServerName: 서버의 이름. 아무거나 관계 없음


- DefaultServer: 기본 FTP 서버로 사용할지 설정
- MaxInstances: 최대 생성 프로세스 수. 너무 크면 DDoS 공격 시 취약할 수 있으므로 적당한 값(20~30)
설정
- User/Group: Proftpd가 실행될 때 실행될 사용자. 보안상 root 사용자로 지정하면 위험함
- <Global> ~ </Global>: 모든 접속된 사용자에게 공통으로 적용되는 설정
- AllowOverwrite: 디렉터리 안에 같은 파일이 있으면 덮어 쓸지를 설정
- <Anonymous ~ftp> ~ </Anonymous>: anonymous 사용자 접속 여부 설정
- UserAlias anonymous ftp: anonymous 사용자로 접속했을 때 내부적으로 ftp의 권한을 부여함
- MaxClients: anonymous 사용자로 동시 접속할 수 있는 최대 숫자
- <Directory uploads/*> ~ </Directory>: 업로드할 디렉터리(‘/uploads’)의 설정
- <Limit READ> ~ </Limit>: 읽기를 허용할지 설정. 업로드 디렉터리는 읽기를 못하도록 설정하는 것이
좋음
- <Limit STOR> ~ </Limit>: 쓰기를 허용할지 설정. STOR은 동일 파일 이름이면 덮어 쓸지를 물어봄

32
윈도우에서 FTP 서버 연결

 FTP 서버 연결용 Client 프로그램 선택


 예를들어 https://filezilla-project.org/에서 FileZilla_3.60.2_win64_sponsored2-setup.exe 선택
가능

33
윈도우에서 FTP 서버 연결

 TLS를 통한 FTP를 지원하지 않습니다. 오류 발생인 경우

34
윈도우에서 FTP 서버 연결

 22번 포트로 연결하여 보안 접속한 경우

22포트 사용

35

You might also like