Можно ли настроить SSH таким образом, чтобы при любом попытке соединения он сначала пытался подключиться напрямую, а в случае неудачи он пытался подключиться через другой хост. Если это не удалось, он попытался подключиться через другой хост и так далее. У меня есть список таких хостов.

Например

sshing в "database.companyB.com"

сначала попытается напрямую, но не получится (ключ не подписан)

Тогда он будет пытаться пройти через companyA.com, и это также не получится

Затем он попытается пройти через companyB.com, и это будет успешно.

Я знаю, что прозрачная переадресация может быть сделана на основе хоста, но возможно ли это сделать?

1 ответ1

1

Прежде всего, мы можем настроить прокси-соединение.

Предположим, вы хотите получить доступ к A.dm.com, но вам нужно пройти через B.dm.com раньше. Мы можем отредактировать наш файл .ssh/config с помощью:

Host A-s1
Hostname A.dm.com
Compression yes
User mvy
ProxyCommand ssh B.dm.com nc %h %p 2> /dev/null

это позволяет нам делать

ssh A-s1

Он запросит пароль B, затем пароль A, затем мы находимся. Таким образом, вы можете сделать:

ssh A-s1 exit

Если $? 0, то это успех, и вы можете соединиться с сквозной передачей.

Все, что вам сейчас нужно, это скрипт, который пытается подключиться к каждому серверу и выводит результат $?

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .