打开远程主机的ssh会话并通过send_data排队一些数据后,如何真正触发将数据发送到远程主机的操作? chan.send_request在V2.0中不起作用(例如:chan.send_request“shell”,nil,true)。一个简单的例子非常有用!
Net::SSH.start('remotehost','user') do |session|
session.open_channel do |chan|
chan.send_data "..."
chan.send_data "..."
???
非常感谢! 丹
答案 0 :(得分:0)
您需要启动一个shell,尝试类似:
chan.request_pty do |ch, success|
raise "Error requesting pty" unless success
ch.send_channel_request("shell") do |ch, success|
raise "Error opening shell" unless success
end
end
如果要查看命令的输出,则需要注册处理程序:
chan.on_data do |ch, data|
# work with output here
end
(或标准错误输出使用chan.on_extended_data
)