У меня есть 2 системы, с которыми я работаю, и они подключены последовательно. Система A - это то, к чему я должен подключиться вначале, затем я захожу в систему B, чтобы запустить команды для просмотра состояния служб и других вещей. Я работаю над поддержкой на местах в этих системах, и у меня нет способа изменить их работу в отношении создания API или того, как мы к ним подключаемся.
То, что я хочу сделать, это иметь скрипт ruby, который может войти в систему B для запуска некоторых команд, а затем автоматически передать вывод этих команд обратно на мой ноутбук.
Я могу использовать ruby gem net / ssh, чтобы войти в систему A и запустить команды, но я не могу понять, как подключиться к ssh в систему B после того, как я в системе A. Это то, что у меня сейчас.
Net::SSH.start('123.456.78.9', 'username', password: 'password') do |ssh|
# some how ssh into system b
end
Я пытался просто ssh.exec! "ssh 123.456.78.30"
, но это не работает. Я попытался вложить еще один Net::SSH.start
звонок, но это тоже не работает.
Наконец, я также хотел бы скопировать файлы из системы B обратно в папку / tmp в системе A, но я также не могу заставить это работать. Это совсем другое дело, но если у кого-то есть какие-либо советы по этому поводу, я был бы признателен.
Также просто обратите внимание, что пароль, который я ввел в сценарий, не является действительным паролем. Когда запускается ruby net / ssh и он вводит неверный пароль, оболочка запрашивает пароль, и я ввожу реальный пароль. Может быть, я могу сделать это менее хакерским способом, но сейчас это не приоритет.