윈도우에서 scp 간편하게 사용하기

윈도우에서 리눅스 서버로 파일을 전송하기 위한 방법에는 여러가지가 있습니다.
FTP, http, 공유 폴더(SMB), scp등이죠…

그 중에서 안전하고도 편한 방법으로 전 scp를 선택했습니다.

보통 아래와 같은 WinSCP(http://winscp.net/eng/index.php)를 많이 사용합니다.
WinSCP
아래 그림에서처럼 파일 수정도 편하게 할 수 있죠..
사용자 삽입 이미지
WinSCP는 프로그램을 실행하고, 전송할 파일을 찾아서 서버의 특정 위치를 지정해서 전송하고, 프로그램을 종료하는 과정을 거쳐야 합니다. 자주 사용해야할 경우 아주 번거로운 일이죠..

그래서 탐색기에서 마우스 클릭 두 번으로 간단히 전송할 수 있는 방법을 생각해 냈습니다.
바로 쉘 컨텍스트 메뉴에 등록하여 사용하는 방법입니다.
아래 화면처럼 말이죠^^
사용자 삽입 이미지
서버로 전송할 파일이나 디렉토리를 선택하고 마우스 오른쪽 버튼을 눌러 클릭만 해주시면 미리 지정된 서버의
특정 위치로 전송됩니다.
폴더 선택시 그 안에 있는 모든 파일이 전송됩니다.
scp 전송

첨부된 파일은 쉘 컨텍스트 메뉴를 만드는 레지스트리 파일입니다.
1407210651.reg
이 방법을 제대로 사용하기 위해서는 putty 설치시 함께 설치되는 pscp.exe가 필요합니다.
첨부된 파일을 받은 후 확장자가 .reg가 아니면 .reg로 수정한 후 텍스트 편집기에서 열어서 pscp.exe의 위치와 전송할 서버의 정보, 컨텍스트 메뉴명을 수정하시고 저장한 후 더블클릭하여 레지스트리에 추가하면 됩니다.

아래에 보이는 것처럼 경로 설정시 주의바랍니다. \\ 두 개입니다.

쉘 컨텍스트 메뉴 레지스트리 (Language : text)
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\*\Shell\FFT.kr(/volume1/tmp/)에 올리기\Command]
@=”\”x:\\utility\\network\\ssh\\pscp.exe\” -v -C \”%1\” root@fft.kr:/volume1/tmp/

[HKEY_CLASSES_ROOT\Directory\shell\FFTkr]
@=”FFT.kr(/volume1/tmp/)에 올리기

[HKEY_CLASSES_ROOT\Directory\shell\FFTkr\command]
@=”\”x:\\utility\\network\\ssh\\pscp.exe\” -r -v -C \”%1\\*\” root@fft.kr:/volume1/tmp/

scp로 파일 전송시 암호를 물어보는 것을 없애기 위해서는 공개키를 이용하여 인증하도록 서버를 설정해두면 편리합니다.(ssh 서버 설정 방법은 따로 찾아보세요.. putty-keygen.exe에서 생성한 공개키를 서버의 authorized_keys에 추가하면 됩니다.)
또한 클라이언트 PC에서 putty 설정도하셔야 됩니다.
아래처럼 말이죠..
사용자 삽입 이미지위 화면에서처럼 레지스트리에 설정된 ssh 서버 주소와 저장된 세션명이 같아야 아래 화면에서 설정한
인증키로 자동 로그인이됩니다.
사용자 삽입 이미지
*. 대용량 파일 전송에는 속도가 많이 느리니 FTP나 다른 방법을 사용하세요..
ncftp같은 것을 이용하여 동일한 방법으로 처리해도 되겠네요…