반응형



들어가며

메일함에 공개SW사용기와 관련해서 한통의 메일이 왔습니다. 공모한 글이 적으니 많은 참여를 바란다는 메일인데, 내용을 살펴보니 이번에는 데스크탑에서 사용하는 공개SW의 사용기를 공모하네요. 아무래도 서버용 사용되는 공개SW는 많지만, 데스크탑에서 사용하는 공개SW은 사용자가 적기 때문에 참여자가 적은가 봅니다. 블로그 포스팅도 안한지 오래되고 해서 저도 사용기 하나를 작성하기로 했습니다.

그 덕분에 제 PC에서 사용하고 있는 공개SW를 한번 쭈욱 둘러보게 되었죠.
Cygwin, Vim, FileZilla, WinSCP, Cobian, 7zip, nmap, XAMPP, Eclipse, Aptana, Putty, Firefox, Chrome, tutories SVN, Spring STS ..
후아~ 꽤 많은 공개SW 사용하고 있네요.

많은 SW들이 PC를 재설치할 때마다 지워지고 삭제되고를 반복하는 가운데, 여전 저의 데스탑에서 오랫동안 살아남았으며, 지금도 즐겨 사용하고있는 공개SW는 WinSCP가 아닐까 합니다. 오늘은 WinSCP를 한번 살펴보겠습니다.

WinSCP 소개


요 즘은 대부분의 리눅스 서버에서 보안상 취약한 telnet,ftp를 사용하지 않고 ssh 서버를 운영합니다. ssh는 암호화된 패킷을 송수신하기 때문에 보안상 유리하고, scp 를 통한 파일전송도 가능하기 때문에 대부분의 리눅스 서버에 기본으로 사용하고 있습니다.

CLI 환경을 사랑하는 파워유저들에게는 껌정화면에 흰글씨가 아름다워 보이겠지만, 초급자에게는 ssh 접속과 파일관리가 만만한 일이 아닙니다. 내 컴퓨터의 파일하나를 원격지 리눅스서버에 전송하는것도 큰일이죠.
이런 경우에 바로 WinSCP를 사용할 수 있습니다.



WinSCP는 윈도우환경에서 GUI환경으로 FTP, SSH, SFTP 를 사용가능한 클라이언트 프로그램으로서 저의 데스크탑에서 가장 유용하게 사용하는 공개SW입니다. WinSCP를 이용해서 윈도우 탐색기처럼 원격지 서버와 파일을 쉽게 송수신 할 수 있고, 원격지의 파일을 손쉽게 편집도 가능합니다.



설치하기

1) 브라우저로 http://winscp.net/eng/download.php 에 접속합니다
2) 맨 위쪽에서 최신버전의 ‘Installation package’ 를 클릭하여 파일을 다운로드 합니다
3) 다운로드 받은 파일을 클릭하여 일반적인 윈도우 프로그램 설치과정과 동일하게 설치합니다.

한글지원여부)
최신버전의 파일을 다운로드 받으시면 WinSCP의 한글 버전을 사용할 수 있습니다.
프로그램 설치 시작 시 “한국어” 를 선택할 수 있으며, 프로그램의 한국어 버전이 설치됩니다.

만약 설치 프로그램에서 “한국어”를 선택할 수 없다면,
먼저 영문 설치 버전을 설치한 다음 아래의 translation page로 가서
“Korean” 언어팩을 다운로드 받아서 WinSCP가 실행되는 디렉터리에 ZIP 압축 파일을 풉니다.
translation page : http://winscp.net/eng/translations.php


특징


WinSCP는 영어뿐 아니라 한글을 포함한 다국어를 지원하는 GUI기반의 공개SW로서
많은 특징을 가지고 있습니다. 이미지와 함께 WinSCP의 많은 특징들을 한가지씩 이야기 해보겠습니다.

1) WinSCP를 이용해서 드래그 앤 드롭으로 원격 서버에 파일을 송수신 할 수 있습니다.



2) 바탕화면에 바로가기 아이콘을 생성해서 원클릭으로 서버접속이 가능합니다.



3) SSH-1과 SSH-2를 통한 SFTP 및 SCP 프로토콜 지원. 기존 FTP 프로토콜을 지원합니다



4) 배치파일을 통한 스크립트 실행과 CLI를 지원합니다.



5) 원격지 디렉토리와 PC의 디렉토리 간 동기화를 지원합니다.



6) 자주 쓰는 편집기를 등록해서 서버의 파일을 바로 수정할 수 있습니다.



7) 암호 입력 방식과 공개 키 인증방식을 지원합니다.

 


8) Windows 탐색기 및 Norton Commander 형태의 인터페이스 지원




고급활용


1. 에디트플러스와 WinSCP를 이용한 원격지 서버의 파일 직접수정

EditPlus는 프로그램 편집기로서 아주 강력하지만 ssh 기능이 없으므로 작업하는 도중
원격지의 서버에 파일관련 명령을 실행하기에는 불편합니다. 텍스트 편집기에게 이것저것 다 요구하는것은 너무 많은것을 바라는 것이겠죠?

이때 EditPlus를 WinSCP와 함께 사용하면 원격지의 서버를 윈도우의 탐색기처럼 브라우징 할 수 있고, 서버의 파일을 직접 열어서 항상 사용하는 편집기로 빠르게 편집할 수 있습니다.
물론 텍스트편집기의 원격서버 접속기능을 이용할 수 도 있지만, WinSCP와 함께 사용하면 좀 더 직관적인 인터페이스를 제공하므로 초보자도 리눅스 서버에 쉽게 접속해서 파일 수정이 가능합니다.




2. 디렉토리 동기화


이 기능은 서버의 소스코드를 자신의 PC에 특정폴더와 동기하도록 설정한 다음, PC에서 소스코드를 수정하면 자동으로 원격서버에 반영되는 기능입니다.
자신의 PC안에 있는 파일을 수정하면 원격지에 자동으로 반영되기 때문에 마치 서버의 소스코드를 수정하는 것과 같은 효과가 있습니다.



3. 공개키 인증방식 사용

Putty를 설치하면 인증키를 생성하는 PuTTYgen 프로그램을 사용할 수 있습니다.
1) 프로그램을 실행시키고 ‘Generate’ 버튼을 누른 후 ‘마우스’를 움직이면 키가 생성됩니다.
2) ‘Save private key’ 버튼을 눌러서 파일로 저장했다가 나중에 WinSCP에서 사용합니다.
3) 비밀문구 없이 저장할지를 물어보는데 그냥 저장하겠다고 '확인'버튼을 누릅니다.
4) 붉은 사각형 부분을 긁어서 클립보드에 복사했다가, 원격서버의 /사용자홈/.ssh/authorized_keys 파일에 한 줄로 복사해넣습니다.
5) 아래 화면과 같이 저장한 개인키를 WinSCP 접속정보에 입력해 줍니다
6) 접속을 시도하면 공개키 기반의 인증을 사용하여 접속됩니다.


트러블슈팅


- UTF-8환경에서 한글이 깨어지는 경우에는, 로그인화면 > 환경 > 파일이름을 UTF-8 인코딩
이라고 표시된 부분을 '자동'에서 '사용'으로 변경하신 후 접속하시면 UTF-8 형식을 사용합니다.






참고자료 및 링크


WinSCP Manual - http://winscp.net/eng/docs/start
WinSCP 스크립트 명령실행 활용 - http://calmmass.tistory.com/49
WinSCP 디렉토리 동기화 - http://goo.gl/jZeFv
WinSCP User Manual - http://infotech.adelphi.edu/pdfs/WinSCP_usermanual.pdf


마치며

WinSCP 의 기능을 정리하면서 생각해보니, 진짜 필수적인 기능들을 많이 제공하는것을 새삼 알게되었습니다. 특히 디렉토리 동기화같은 기능은 상용 프로그램에서도 흔히 볼 수 없는 좋은 기능이고, 이런 좋은 SW를 공개한 개발자들에게 고마운 마음이 듭니다. 저도 공개SW를 사용하는 사용자의 입장에서가 아니라 실력을 좀 키워서 좋은 공개W를 만들어서 다같이 사용할 수 있었으면 좋겠네요.
반응형
반응형
설치
yum install vsftpd


블랙리스트 확인
다음의 리스트에 등록되어 있는경우 원격접속이 불가능하다.
리스트를 확인후 수정이 필요

/etc/vsftpd/ftpusers // 다른 ftp의 경우 /etc에 있기도 했다.
/etc/vsftpd/user_list


포트 개방 20번 21번 (TCP만)
vi /etc/sysconfig/iptables

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 20 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT

service iptables restart

ip_nat_ftp, ip_conntrack_ftp
방화벽을 사용할 경우 다음의 커널 모듈을 로딩해 줘야 된다.
modprobe ip_nat_ftp
modprobe ip_conntrack_ftp

vsftpd 서비스가 실행될때 마다 로딩 하도록
/etc/init.d/vsftpd의 스타트부분에 넣어버렸다. 대략 아래와 같은 느낌으로

start() {
# Start daemons.

if [ -d /etc/vsftpd ] ; then
for i in `ls /etc/vsftpd/*.conf`; do
site=`basename $i .conf`
echo -n $"Starting $prog for $site: "
daemon /usr/sbin/vsftpd $i
RETVAL=$?
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/$prog
echo
done

# for ftp connection error
modprobe ip_nat_ftp
modprobe ip_conntrack_ftp

else
RETVAL=1
fi
return $RETVAL
}



부팅시 기동 설정
chkconfig --list | grep ftp
chkconfig --level 2345 vsftpd on
chkconfig --list | grep ftp


실행
service vsftpd start
반응형

'오픈소스SW' 카테고리의 다른 글

PHP 게시판  (0) 2010.05.12
Automating Linux Unix  (0) 2009.08.11
CentOS 5.2 Final + BIND 9.3.4  (0) 2009.08.02
UML 지원 CASE Tool  (0) 2009.04.29
Timeline 소개  (0) 2008.12.26

+ Recent posts