我希望能够使用SFTP登录多台服务器并下载某些文件,以便在出现问题时帮助调试。尽管我们可以使用客户端,但我们希望开始自动化这个过程,以简化一切。
我的第一次尝试看起来像这样:
我的第一次尝试看起来像这样:
def download(files_to_download, destination_directory)
Net::SFTP.start(@server, @username, :password => @password) do |sftp|
files_to_download.each do |f|
local_path = File.join(destination_directory, File.basename(f))
sftp.download!(f, local_path)
end
end
end
虽然这样做可以起作用,但需要密码。理想情况下,我想使用公钥身份验证,但是我在文档或在线上没有找到任何相关参考 - 这可行吗?
我不想使用chilkat。
谢谢。
start': und efined method
shutdown!' for nil:NilClass (NoMethodError) from C:/sourcecode/log_downloader/sftp.rb:7:in `download' from C:/sourcecode/log_downloader/sftp.rb:24从SSH日志中看来,它似乎没有执行接受公钥、请求签名的步骤,而WinSCP则会要求我接受密钥?或者客户端会替我处理这个问题? - Ben HallNet::SFTP
一起使用吗?还是只能和Net::SSH
一起使用? - Mr_Nizzle