вызов реализации SSH с тремя хостами - PullRequest
0 голосов
/ 30 августа 2018

Мне нужно реализовать механизм SSH Passkey для решения fwding удаленного порта, но между тремя хостами (три разные виртуальные машины). Позвольте мне объяснить:

Развертывание:

  • Хост 1 - наш клиент с SSH-клиентом и веб-сервером
  • Хост 2 имеет наш сервер приложений, который управляет несколькими клиентами.
  • Хост 3 имеет SSH-сервер (OpenSSH).

Требование: Удаленный доступ (запуск) приложения, размещенного на веб-сервере на хосте 1, с сервера приложений на хосте 2. Для этого:

  1. SSH-туннелирование и fwding удаленного порта должны быть установлены «программно» между хостом 1 и хостом 3.
  2. Сервер приложений на хосте 2 будет перенаправлять URL-адрес на сервер ssh на хосте 3.

Мы попытались сделать это вручную, и это работает. Однако, чтобы запустить команду ssh remote port fwding для установки ssh-туннеля, нам нужно указать пароль от SSH-клиента на хосте 1. Но так как нам нужно достичь этого программно, нам нужно предоставить механизм паролей ssh, в котором ключи генерируются на Узел 1, а затем открытый ключ добавляется на сервер SSH на узле 3 (с использованием ssh-copy-id), а закрытый ключ остается у клиента на узле 1.

Но даже для запуска ssh-copy-id или копирования ключа ssh на сервер (хост 3) нам необходимо ввести пароль вручную.

Запросы:

  1. Как этого избежать, чтобы он работал программно без какого-либо ручного вмешательства?
  2. Можем ли мы предоставить пароль в качестве параметра командной строки для команды ssh tunneling? Я проверил инструмент 'sshpass', но не уверен, что это правильный путь.
  3. Кроме того, как футуристическое требование, возможно ли сгенерировать открытый и закрытый ключи на хосте 2, а затем каким-то образом отправить закрытый ключ на хост 1 и открытый ключ на хост 3 (либо весь файл ключа, либо строку) ? Будет ли аутентификация работать в этом случае между хостом 1 и хостом 3?
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...