草庐IT

ssh2-sftp

全部标签

ruby-on-rails - 编码::UndefinedConversionError: "\xA8"从 ASCII-8BIT 到 UTF-8 (SFTP)

使用Net-SFTPgem、Ruby2和Rails4我编写的代码在纯ruby​​中运行,但将我的代码复制到rails上,现在我得到:Encoding::UndefinedConversionError:"\xA8"fromASCII-8BITtoUTF-8我可以在我的代码中更改什么以使其正常工作?defself.get_recent_file(ftp_file,local_file)Net::SFTP.start(Config::A_FTP[:domain],Config::A_FTP[:username],:password=>Config::A_FTP[:password])do|

ruby - 在 Ruby 中测试 sftp 连接

我有一个广泛使用SFTP协议(protocol)的应用。我想为它编写集成测试,有没有用Ruby实现SFTP服务器功能的库? 最佳答案 你试过了吗https://rubygems.org/search?utf8=%E2%9C%93&query=sftp?这里有一个SFTP协议(protocol)实现:https://github.com/georgediaz88/fun_sftp和一些模拟SFTP的库:https://github.com/playlouder/mock_sftp 关于ru

Ruby Net-SFTP 无响应

我正在尝试使用Net::SFTP将文件上传到SFTP站点。问题是Ruby进程永远不会返回。它被卡住、卡住、永无止境……我必须按Ctrl-C才能让它停止。我可以使用sftp在命令行中连接到ftp服务器。我已经在Linux(Ubuntu)和SnowLeopard上试过这段代码,它做同样的事情。安装了最新版本的Net::SSH和Net::SFTP。来自gem列表网:net-sftp(2.0.5)net-ssh(2.1.4)哈希参数的不同组合(见下面的代码)尝试调用Net::SFTP.start而不是先创建SSHsession。当我使用命令行工具登录并询问版本时,服务器响应“SFTP协议(pr

ruby-on-rails - `dispatch_request' : 在 Net::SFTP.upload 期间没有这样的请求

我正在使用Net::SFTP将文件上传到服务器。这是代码:uri=URI.parse('sftp://host.org')io=StringIO.new(csv_string)timeout120doNet::SFTP.start(uri.host,ENV['SFTP_USER'],:password=>ENV['SFTP_PASS'],:port=>22)do|sftp|sftp.upload(io,"/ftpguest/Medstro/"+file_name)endend当我运行代码时,它成功连接到主机并上传了一个具有正确文件名的零字节文件。然后它抛出这个异常:lib/ruby/g

ruby - IO错误 : closed stream in Ruby SFTP

以下代码尝试通过SFTP和Net::SFTP列出远程目录的条目,但如果目录包含大量文件(~6000个文件),它会导致“关闭流”IOError:require'net/ssh'require'net/sftp'Net::SFTP.start('hostname','username',:password=>'password')do|sftp|#listtheentriesinadirectorysftp.dir.foreach("/")do|entry|putsentry.longnameendend避免它的最佳方法是什么?版本是net-sftpGem:2.0.5和net-sshGem

ruby - 什么是 SSH 转发?

我读了aguide.它说运行以下行并忘记它。/usr/bin/ssh-add-K我不确定应该在何时何地使用它。什么是SSH转发? 最佳答案 Here's一个解释。和another.一个"illustrated"one.这些应该让您大致了解这里发生的事情。 关于ruby-什么是SSH转发?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/902535/

ruby - 如何通过 SSH 交互 Session

大家好我需要在linux机器上执行命令这个命令是交互式的命令。交互式命令意味着需要输入[yes,no]或密码两次我的真实情况是。我创建了一个脚本执行命令并成功获得了输出。但是有些服务器的登录密码已过期,所以我需要与服务器发送当前密码+新密码(两次)sshuserName@10.0.0.243userName@10.0.0.243'spassword:Youarerequiredtochangeyourpasswordimmediately(passwordaged)Lastlogin:SunAug713:15:402011from10.0.0.28WARNING:Yourpasswor

ruby - Net::SSH::Multi 使用 session.exec,如何立即获得输出? ruby

所以我一直在尝试使用Net::SSH::Multi通过SSH登录多台机器,然后使用session.exec("some_command")在远程机器上执行shell命令。代码:#!/usr/bin/rubyrequire'rubygems'require'net/ssh'require'net/ssh/multi'Net::SSH::Multi.startdo|session|#Connecttoremotemachines###Changethis!!###session.use'user@server'loop=1whileloop==1printf(">>")command=ge

ruby - 如何正确实现 Net::SSH 端口转发

我一直在尝试让端口转发与Net::SSH一起正常工作。据我了解,如果我希望能够从同一个Ruby程序中使用它,我需要fork出Net::SSHsession,以便事件处理循环实际上可以处理通过连接发送的数据包。但是,这会导致您在以下内容中看到的丑陋之处:#!/usr/bin/envruby-wrequire'net/ssh'require'httparty'require'socket'includeProcesslog=Logger.new(STDOUT)log.level=Logger::DEBUGlocal_port=2006child_socket,parent_socket=S

Ruby 脚本 Net::SSH::HostKeyMismatch 但 ssh 有效

我可以通过ssh连接到我的aws网络上的远程主机,但在ruby​​脚本中使用net/ssh失败。我的gem是Ubuntu16.04上的net-ssh(4.2.0)。即使使用non_interactive=>false,它也不会提示输入密码。错误:AuthenticationfailedforuserNet::SSH::AuthenticationFailed为什么这段代码会失败?#!/usr/bin/envrubyrequire'rubygems'require'net/ssh'HOST='myhost'Net::SSH.start(HOST,:auth_methods=>['publ