Как я могу SSH после установления соединения с ruby ​​net / ssh gem - PullRequest
0 голосов
/ 15 сентября 2018

У меня есть 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 и он вводит неверный пароль, оболочка запрашивает пароль, и я ввожу реальный пароль. Может быть, я могу сделать это менее хакерским способом, но сейчас это не приоритет.

...