2011-03-15 2 views
6

Net :: SCP를 사용하여 ssh 연결을위한 사용자 정의 포트를 정의하려하지만 지금까지는 행운을 얻지 못했습니다.Ruby NET :: SCP 및 사용자 정의 포트

require "rubygems" 
require 'net/scp' 
Net::SCP.download!("www.server.com", "user", "/opt/platform/upload/projects/file.txt", "/tmp/bb.pdf",{:password => "mypassword",:port => 22202}) 

내가지고있어 오류 메시지는 다음과 같습니다 :이

Errno::ECONNREFUSED: Connection refused - connect(2) 

는 여기에 사용자 정의 ssh 포트와 서버에서 원격 파일을 다운로드하기 위해 노력하고있어 방법의 예입니다 서버 로그에 ssh 연결에 관한 항목이 없으므로 Net :: SCP가 내 사용자 지정 포트를 사용하지 않는다고 가정합니다.

나를위한 도움말?

안부, 알렉스

답변

9

글쎄, 나는 해결책을 자신을 발견했습니다.

require "rubygems" 
require "net/scp" 
Net::SSH.start("www.myserver.com", "theuser", {:password => "whateverpwd",:port => 22212}) do |ssh| 
    ssh.scp.download! "/opt/platform/upload/projects/my.pdf", "/tmp/bb.pdf" 
end 
2

또한 표준이 아닌 포트에서 SSH를 유지하고과 같이 SCP를 사용 챔피언 같은

Net::SCP.upload!("foo.net", "user", the_file, the_file, :ssh => { :keys => @keys, :port => the_port }) 

작품. 또한 키 기반 인증을 사용하므로 키 매개 변수가 포트와 함께 전달됩니다.

+0

변수 @keys는 어떻게 설정됩니까? – RNickMcCandless