1

У меня есть хост $ HOST, к которому я могу (только) получить доступ с помощью ssh к хосту $ BASTION, а затем с помощью аутентификации на основе хоста подключиться с помощью ssh $HOST . $ HOST не принимает доступ, например, с помощью аутентификации с открытым ключом.

Какой ProxyCommand мне нужно настроить, чтобы на моем локальном компьютере ssh $HOST прозрачно соединял меня с $ HOST?

Я использую OpenSSH 6.2p2 на своей локальной машине и OpenSSH 5.9p1 на $ BASTION и $ HOST.

1 ответ1

0

Вы можете использовать ssh в режиме "stdio forward". Это заставляет ssh подключиться к указанному хосту и запросить sshd открыть перенаправленное соединение с другим хостом. Клиент ssh подключит это перенаправленное соединение к stdin/out, что делает его удобным для использования в качестве ProxyCommand.

Пример фрагмента ssh_config:

Host behind-bastion
    ProxyCommand ssh -W %h:%p bastion

Обратите внимание, что аутентификация на основе хоста может быть довольно хитрой в сопоставлении DNS-имени для адреса входящего соединения с именем, связанным с открытым ключом в /etc /ssh /known_hosts. Если вы столкнулись с проблемами здесь, вам может потребоваться установить HostbasedUsesNameFromPacketOnly = yes в sshd_config $ HOST.

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