<In Story>

MS Windows FreeFTPD를 이용한 SFTP 구성하기 // [MS Windows] [FTP] [SSH] [Program] [Network] 본문

Program(Tool)/MS Windows

MS Windows FreeFTPD를 이용한 SFTP 구성하기 // [MS Windows] [FTP] [SSH] [Program] [Network]

<In Story, Hi story, History> 2015. 5. 16. 02:07

http://zetawiki.com/wiki/윈도우에_SFTP_서버_구축하기


윈도우에 SFTP 서버 구축하기

윈도우 7에서 테스트하였습니다.

개요

윈도우 SFTP 구축하기
윈도우에 SFTP 서버 구축하기
윈도우 서버에 SFTP 구축하기
  • FreeFTPD - 무료. 설정은 간단. 알FTP와 호환성 문제가 있다.
  • Core FTP Server - 무료. 알FTP와 호환성 문제가 있다.
  • FileZilla Server - 무료. 설정이 다소 복잡하다. 990 포트를 기본으로 사용.

의견

  • FTP 제공 대상자 중에 알FTP를 쓰는 분이 많아서 어떻게든 되게 하려고 했는데, 잘 안된다.
  • 알FTP와의 호환성을 포기하고 FreeFTPD로 가는 게 정신건강에 이로울 듯...

FreeFTPd

설명

  • 작고 가볍다.
  • 간단히 설치된다.
  • 서비스로 등록되어 재부팅시에도 바로 된다.
  • 알FTP와 호환성 문제가 있다.
FileZilla에서는 파일이 잘 보이는데, 알FTP에서는 보이지 않는다.
  • uninstall이 깔끔하다.

설치

  • http://www.freesshd.com/?ctt=download 에서 freeFTPd.exe 다운로드
  • freeFTPd.exe 실행
  • [Next >] --- (O) I accept the agreement --- [Next >] --- [Next >] --- [Next >] --- [Next >]
  • [ ] Create a desktop icon --- [Next >] --- [Install]
  • Try Other WeOnlyDo.com Products --- [Close]
  • Private keys should be created. Should I do it now? --- [예(Y)]
  • Do you want to run freeFTPd as a system service? --- [예(Y)]
  • [Finish]

설정

  • 시작 --- freeFTPd 실행
  • SFTP --- SFTP root directory: (ftp 루트 디렉토리 지정) --- [Apply & Save]
  • Users --- [Add ...]
Login: 사용자명
Authorization: Password stored as SHA1 hash
Password: 패스워드
Password(again): 패스워드
Home directory: $SERVERROOT
[ ] FTP server
  • [Apply] --- [Apply & Save]
  • SFTP --- [Start]
  • Windows 보안 경고 --- [액세스 허용(A)]

테스트

  • 파일질라 Client 실행
  • 파일 --- 사이트 관리자
  • 새 사이트
호스트: IP(또는 도메인)
프로토콜: SFTP - SSH File Transfer Protocol
로그온 유형: 일반
사용자: 사용자명
비밀번호: 패스워드
  • '문자셋' 탭 --- (O) 문자셋 직접 설정 --- 인코딩: cp949[1]
  • [연결(C)]

의견

  • 한마디로 좋다... 사용하면서 알게 된 몇가지만 덧붙이겠다.
  • freeFTPd라는 이름 때문에 freeFTPd 자체가 FTP를 제공하는 데몬(서비스)라고 생각하기 쉬운데, 사실 freeFTPd는 각종 설정과 서비스 시작/종료를 할 수 있는 일종의 관리도구이다. services.msc를 실행시켜 확인해보면 알겠지만, 실제 데몬(서비스)은 freeFTPdService라는 녀석이다.
  • freeFTPd의 freeFTPdService 상태 표시는 문제가 있다. 재부팅시에는 윈도우가 freeFTPdService를 구동시켜 주는데, freeFTPd는 이것을 제대로 감지하지 못하고 OFFLINE으로 표시한다. 이것이 무슨 의미냐 하면 freeFTPd는 freeFTPdService 상태를 점검하고, 그저 자신이 서비스를 Start하면 ONLINE, Stop하면 OFFLINE으로 표시해줄뿐이다. 따라서 서비스가 구동중인지를 보려면 services.msc를 이용하자.




---------------------------------------------------------------------------------------------------------------------------------------------





http://ideaargo.phps.kr/tc/tag/146





2000년대 접어들면서 리눅스에서는 암호화 통신인 ssh 사용이 일반화 되었습니다.
그리고 ssh 를 이용하여 ftp 대신 sftp 서비스를 이용하기도 합니다.
저 역시 대부분의 서버작업을 ssh 를 이용하며 ftp 대신 sftp 를 이용합니다.

그런데 윈도우에서는 서버작업시 터미널을 주로 이용하는데 문제는 ftp 였습니다.
그래서 혹시나 sftp 를 지원하는 프로그램이 없나 찾아보게 되었습니다.
윈도우용 ssh 클라이언트 프로그램으로는 대표적으로 putty(ssh) 나 winscp(sftp) 등이 있지만
윈도우 ssh Server 용 프로그램은 본적이 없었던거 같습니다.

구글링을 해보니.. cygwin 으로 openssh 를 동작시키는 방법이 있었지만
http://pigtail.net/LRP/printsrv/cygwin-sshd.html
귀차니즘과 어느정도 아시는 분들이나 문제없이 설치할듯 하고 해서 계속 찾아보니..
몇가지 프로그램을 발견했지만 대부분 유료가 많았습니다. 그러다 freeSSHd 라는 프로그램을 찾게되었고
그 프로그램을 이용하여 쉽게 구축할수 있더군요.

다음은 freeSSHd 를 이용하여 설치 및 설정을 하는 방법입니다.

테스트환경 : 윈도우 XP 프로페셔널
필요 환경 : NT 계열
freeSSHd Download : http://www.freesshd.com

다운로드에 가시면 하시면 2개의 설치 실행화일을 받으실수 있습니다.
freeSSHd.exe 는 ssh server 를 설치하는 install 화일이고 freeUserImport.exe 는 윈도우 계정을
ssh 서버로 접근가능하게 컨버팅해주는 util 입니다.

우선 freeSSHd.exe 를 실행합니다.
설치중에 어려움은 없을거고 설치 중간에 시스템 서비스로 등록하겠느냐고 나오는데 그건 여러분의 판단에
맏기겠습니다. 저같은경우는 등록해서 사용했습니다.

이제 설치가 완료되고 freeSSHd 셋팅을 할 차례입니다.
트레이에 못보던 아이콘이 생기고 클릭하면 freeSSHd 아래와 같이 셋팅창이 뜰겁니다.


1. Server satatus
Telnet Server 와 SSH Server 의 실행 과 중지를 하는곳입니다.
사용자 삽입 이미지


2. Telnet
텔넷 서버의 설정을 하는경우 설정합니다. 그러나 텔넷은 권장하지 않습니다.
텔넷을 사용할거라면 굳이 freeSSHd를 설치할 필요가 없죠.
사용자 삽입 이미지


3. SSH
Listen address 에서 특정 IP를 지정할수도 있습니다.
Max number of connections 설정은 최대 접속갯수를 설정합니다. 0은 제한이 없다는 것입니다.
Idle timeout 은 입력이 없으면 얼마후에 접속을 서버쪽에서 종료시키는 기능입니다. 0은 제한이 없습니다.
Command shell 은 SSH 접속시 사용할 명령어 실행하기 위한 인터페이스이고 리눅스에서는 shell 이죠.
그외 옵션은 아래와 같이 설정하고....
RSA , DSA 설정은 기본값으로 두고.. 다음
사용자 삽입 이미지


4. Authentication
ssh 인증을 어떤식으로 할것이냐는 것입니다.
패스워드 방식과 공개키 방식이 있습니다.
저는 두가지 경우를 모두 선택했습니다. 여기서 Allowed 와 Required 는 차이가 없습니다.
공개키 생성을 이용하기 위해서는 puttygen.exe 를 이용하시면 됩니다.
puttygen.exe 다운로드
puttygen.exe 사용방법은 인터넷에도 자료가 많으니 따로 정리하지 않겠습니다.
사용자 삽입 이미지


5. Encryption
어떤 암호화 알고리즘을 사용할것인가를 선택합니다.
사용자 삽입 이미지


6. Tunneling
freeSSHd 를 통해 터널링을 지원할것인가의 여부를 설정합니다.
실제 원격에서 putty 등을 통해 터널링을 이용할수있습니다. putty 설정을 통해 외부접속하는 방법은
인터넷에 ssh 터널링으로 검색해보면 될듯하고 스쿨에도 꽤 자료가 있습니다.
사용자 삽입 이미지


7. SFTP
sftp 접속시 홈디렉토리를 설정합니다.
여러가지 sftp 프로그램이 있지만 개인적으로는 winscp 를 추천합니다.
winscp 다운로드
사용자 삽입 이미지


8. Automatic updates
업데이트 설정입니다.
사용자 삽입 이미지


9. Online users
현재 접속해 있는 User 리스트를 출력합니다.
해당유저를 두번클릭하면 Disconnect 버튼이 활성화 되며 해당 유저의 접속을 강제로 종료시킬수 있습니다.
사용자 삽입 이미지


10. Logging
아래와 같이 체크하면 사용자들의 접속 기록을 확인할수 있습니다.
사용자 삽입 이미지


11. Host restrictions
접속 제한 IP들을 설정하는 곳입니다.
tcp_wrapper 와 같은 보안정책을 실행합니다.
Allow only these IP addresses : 전체를 막고 지정한 특정 IP의 접속을 허용합니다.
Refuse these IP addresses : 전체를 풀고 지정한 특정 IP의 접속을 차단합니다.
사용자 삽입 이미지


12 Users
현재 등록된 User를 등록, 수정, 삭제 할수 있습니다.
Add 를 클릭하게 되면 아래와 같이 새창이 뜹니다.
Login  : ID입력
Authorization : 인증은 윈도인증, 패스워드, 공개키인증방식을 선택할수 있습니다.
패스워드 방식을 선택하면 패스워드 입력창이 활성화 됩니다.
사용자 삽입 이미지


여기까지 설정이 되었다면 freeSSHd 의 셋팅이 모두 끝났습니다.
하지만 일반적인 경우 접속이 되지 않습니다. 그건 윈도우의 방화벽 때문입니다.
대부분의 분들은 잘 아실거라 생각하지만 혹시 잘모르시는 분들도 있다고 보고 윈도우 방화벽에서
22번 포트를 푸는 방법을 설명하자면...
제어판 => Windows 방화벽 => 고급탭 선택 후 설정하려는 연결설정을 선택한후 설정을 클릭
=> 고급설정창이 뜨고 추가 버튼을 클릭한후 아래의 이미지에 나와있는것처럼 설정을 하시면됩니다.
사용자 삽입 이미지