2011-03-15 14 views
6

Net :: SCP kullanarak ssh bağlantısı için özel bir bağlantı noktası tanımlamaya çalışıyorum, ancak şu ana kadar şanssız.Ruby NET :: SCP ve özel bağlantı noktaları

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}) 

alıyorum hata iletisi:: Orada

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

Burada özel bir ssh portu ile bir sunucudan uzak bir dosyayı indirmeye çalışıyorum nasıl bir örnek ssh bağlantısına ilişkin sunucu günlüklerinde giriş yok, bu yüzden Net :: SCP'nin özel bağlantı noktasını kullanmadığını varsayalım.

Benim için herhangi bir ipucu?

Selamlar Alex

cevap

9

Eh, Kendimi çözüm buldum.

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

Ben de standart olmayan bir bağlantı noktası üzerinde SSH tutmak ve böylece gibi SCP kullanmak: Bir şampiyon gibi

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

Çalışır. Ayrıca, anahtar tabanlı kimlik doğrulaması kullanıyorum, bu yüzden de anahtar parametresi bağlantı noktasıyla birlikte geçiyor.

+0

@keys değişkeni nasıl ayarlanır? – RNickMcCandless

İlgili konular