본문 바로가기

OpenSource HW/포고플러그(PogoPlug)

포고플러그(PogoPlug)에 SSH로만 파일전송하기.

*포고플러그(PogoPlug)가 아니라도 모든 SSH서버에서 사용가능합니다.


포고플러그에 파일업로드를 하려는데 외국에 있는 서버를 경유하자니 너무 답답하시죠?

800MB이상하는 동영상파일이라도 올리려면 거의 1시간이 넘게 걸립니다.

괜히 외국서버를 통하지 말고, 직접 SSH를 통해서 파일을 업로드 할수 있습니다.

ArchLinux 를 설치하셨다면, FTP서버를 통하거나,

그외 다른 방법을 사용해서 포고플러그에 직접 전송할수 있습니다.

(FTP서버를 사용하시는것이 가장 빠르고 편합니다.)

전 개인적으로 포고에 다른 서비스를 올리지 않았습니다.

포고플러그에는 포고 기본서비스 + 개인적으로 개발한 몇개 프로그램을 돌리고 있는터라,

안그래도 달리는 메모리에 부하를 주기 싫기도 하였죠.

그래서 삼바도,FTP서버도 올리지 않았습니다.


이건 오직 SSH로 파일을 올리는 방법에 관한것입니다.


윈도우상에서 포고플러그에 SSH로 파일업로드를 하려면 먼저, 파일 하나가 필요합니다.

윈도우에서 가장 많이사용하는 SSH프로그램인 'Putty'에서 제공하는 프로그램입니다.


http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html


여기서 pscp.exe 파일을 다운로드 받습니다.


다운로드가 끝났으면, pscp.exe 파일을 환경변수가 설정된 폴더안에 복사해 넣습니다.

간편하게 Windows\ 이나 Windows\system32 폴더 안에 그냥 복사해넣어도 됩니다.


명령 프롬프트를 실행해서 다음과 같이 타이핑 합니다.

pscp 업로드할파일 경로 root@포고접속ip:/포고에 업로드할 경로

예를 들면,

pscp "c:\users\magnett\Documents\movie.avi" root@192.168.0.10:/media/

이런식이죠.

/media/ 경로는 포고플러그에 존재하는 경로입니다.

그럼 업로드되는 현재상황이 텍스트로 보여줘서 좋습니다.

이런식으로 입력을 하면,



처음 접속시 키값을 가져오겠냐고 물어보는데 'y'를 입력해줍니다.(처음 한번만 하면됩니다.)

그다음, 암호를 입력하고나면 파일을 업로드하기 시작합니다.


업로드할 용량, 업로드 속도(kB/s), 남은시간, 퍼센트가를 보여줍니다.

이렇게 SSH로만 파일업로드가 가능합니다.

"OSX 에서는 pscp에서 p만 빼주면 됩니다.

  ex) scp /Documents/data.zip root@192.168.0.10:/media/upload

"

 


자, 여기까지 했으면 응용/심화 과정입니다.^^

윈도우 탐색기상에서 좀더 간편하게 파일을 업로드할수 있는 프로그램을 만들어보겠습니다.

제가 실제 사용중인 것입니다.



업로드할 파일을 마우스오른쪽버튼으로 선택해서 나오는 팝업메뉴에서 'PogoPlug로 업로드'를 선택하면 바로 업로드가 되는것이죠.

자, 만들어 보겠습니다.

먼저, 프로그램을 만들어야합니다.

제가 간단한 프로그램을 만들었으니 파일을 다운받아서 압축을 푸시면 됩니다.

 


POGOUploader.zip


"혹시나 필요하신 분을 위해 프로젝트(VS 2008)을 공개해드립니다.

입맛에 맞게 수정해서 사용하셔도 됩니다.

(소스코드는 참 별거없습니다. 그냥 파일경로를 받아서 pscp을 실행하도록 넘겨주는 것이지요.)

-소스코드-

pogosender.zip


boost Lib(filesystem)가 필요하니 참고바랍니다.

시간만 더있으면 GUI를 붙이고 할수 있겠지만...

뭐. 그렇게까지 할필요는 없을거 같습니다.

(구차하게 기능이 더붙으면 FTP보다 못합니다. 핵심은 '간편' 이니까요)"



프로그램을 다운받으신다음에 원하는 위치에 압축을 풀어주세요.

ex) c:\POGOUploader\

POGOUploader.zip 압축을 풀면 4개의 파일이 있습니다.

pogosender.exe

pscp.exe

setup.conf

pogouploader.reg


그럼, 먼저 .reg파일을 메모장으로 열어주세요.


Windows Registry Editor Version 5.00


[HKEY_CLASSES_ROOT\*\shell\PogoPlug로 업로드]


[HKEY_CLASSES_ROOT\*\shell\PogoPlug로 업로드\command]

@="c:\\pogosender.exe \"%1\""

여기서 'c:\\pogosender.exe \"%1\" 부분을 프로그램을 복사한 위치로 바꾸어주셔야 합니다.

만약에, c:\POGOUploader\ 에 존재한다면,

@="c:\\POGOUploader\\pogosender.exe \"%1\""

라고 수정한다음 저장하시면 됩니다.

* 경로수정시에 꼭 '\\'처럼 2번을 입력하셔야 합니다.

*Program Files(x86)에서는 안되네요(아시는분 알려주세요)


그런다음, pogouploader.reg파일을 더블클릭 합니다.

그럼 '레지스트리 편집기' 실행을 허용하시겠습니까? 라는 팝업이 뜹니다. '예'를 눌러줍니다.

그다음에는 레지스트리 편집기의 정보를 추가하는데 계속하시겠습니까? 란 팝업이 뜨면

'예' 를 눌러주면 됩니다.



이건 마우스 오른쪽클릭을 했을때 'POGO업로드'란 메뉴를 추가하기위한것으로 

다른 시스템설정을 건드는건 아니니까 안심하셔도 됩니다. :)

그럼, 마우스 오른쪽 클릭메뉴에 'PogoPlug로 업로드' 메뉴가 추가되었습니다.


이제 자신의 포고플러그에 대한 정보를 설정해 줍니다.


setup.con 파일을 메모장으로 열어보세요.

id root

server 192.168.0.10

passwd 암호

serverpath /upload_path

end_pause 0

id는 ssh 접속아이디(PogoPlug 기본아이디는 'root'입니다.)

server는 포고플러그ip 를 적어주시면 됩니다.

serverpath는 포고플러그 내부에 업로드할 경로입니다.(맨앞에 /를 넣어주셔야 합니다.)

passwd 는 SSH접속 암호입니다. '암호'부분을 자신의 암호로 바꾸어주면 됩니다.

end_pause 는 업로드가 완료되면 커맨드창이 자동으로 꺼집니다.

만약에 end_pause값을 1로 수정해주면,

업로드가 완료되어도 커맨드창이 꺼지지 않습니다.(키 입력할때까지)

*port 수정을 원하시면 마지막에 

port 8090

이런식으로 한줄을 추가해 주시면 됩니다.


다 수정하셨다면, 저장하고 나오세요.


자, 이제 끝입니다.


이제 원하시는 파일을 마우스오른쪽으로 선택해서 업로드하면 됩니다.






이방법은 파일을 간편하게 올릴수있다는게 장점입니다.

FTP서버접속하는 번거로움없이 마우스 클릭으로 전송이 가능하죠.

참고로, 파일은 하나만 업로드 가능하니까 참고하세요.

(혹시나 다중파일 업로드를 원하시면 첨부산 소스프로젝트를 수정해서 만들어 보세요)


* 삭제하실 때에는 레지스트리 편집기 에서 

HKEY_CLASSES_ROOT\*\shell\

의 'PogoPlug로 업로드' 키를 삭제 해주시면 됩니다.