红宝石网:: SCP下载要求输入密码,然后失败
我试图从unix盒下载文件到内存缓冲区,然后将文件上传到另一个unix盒,但是当我尝试下载文件时。询问我的密码的话就算我把它放在我失败都试过:红宝石网:: SCP下载要求输入密码,然后失败
data = Net::SCP.download!("remote.host.com", "username", "/remote/path", :password => password)
和
data = Net::SCP::download!("remote.host.com", "username", "/remote/path", :password => password)
,但我得到:
Active Directory Password:
然后当我输入密码:
Net::SCP::Error: SCP did not finish successfully (1)
红宝石1.8.7(2010-12-23 PATCHLEVEL 330)[I386-的mingw32] 网SCP(1.0.4)
尝试使用它像这样:
require 'net/scp'
data = nil
Net::SCP.start("remote.host.com", "username", :password => "password") do |scp|
data = scp.download!("/remote/path")
end
puts data
编辑:我只是想这对红宝石红宝石1.9.3,对不起
这确实有效,它与我使用Net :: SFTP开发的解决方案完全相同,这很有趣。然而,当我想要在服务器上传文件时,SCP将无法像SFTP那样执行。我必须执行'sftp.file.open(“filepath”,'w'){| f | f.puts数据结束}'SCP没有'.file' – 2013-05-01 15:57:58
是的,sftp可能是你想要做的正确的事情 – 2013-05-01 16:09:32
貌似的Net :: SFTP是什么我ACTUA只是要去使用,它不多,也可能是我最终得到的,因为我没有意识到在把它放到另一台服务器上之前我需要'写'@data
。
data = nil
Net::SFTP.start('remoteHost1', 'username', :password => 'password') do |sftp|
data = sftp.download!("filepath1")
end
Net::SFTP.start('remoteHost2', 'username', :password => 'password') do |sftp|
sftp.file.open("filePath2", "w") do |f|
f.puts data
end
end
传入':verbose => true'并查看会发生什么 – 2013-05-01 15:30:25
与以前相同的结果,谢谢您的回应!我已经探索了一个使用Net :: SFTP的解决方案,但我仍然很好奇Net :: SCP为什么不这样做。 – 2013-05-01 15:44:08