Я хочу создать Ruby
скрипт, который открывает псевдо-tty-соединение SSH и сохраняет его открытым.
Я также хочу отправить ему пароль, например, с помощью. expect
.
Я пробовал это: (Я удалил имя сервера, пароль и имя пользователя)
#!/usr/bin/env ruby
require "pty"
require "expect"
username = 'USERNAME'
server = 'SERVERNAME'
password = 'PASSWORD'
r_f, w_f, pid = PTY.spawn("ssh -T -l #{username} #{server}")
w_f.sync = true
r_f.expect(/.*asswor.*/, 600) do |output|
w_f.puts password
puts "Sending password"
end
# If we are logged on, we get a message with "Hello, username"
r_f.expect(/.*ello.*/) do
puts "You are now logged on."
end
Однако, похоже, это закрывает соединение после получения подтверждения, что оно подключено