Чтобы получить доступ к определенной машине, мне нужно пройти через прокси, а затем через jumphost, прежде чем я окажусь в желаемом месте.
Для этого я использую такой конфигурационный файл:
### jumphost
Host jmp
HostName xxx.xxx.xxx.xxx:port
User user
ProxyCommand corkscrew proxy.name.com port %h %p
### box
Host box
HostName xxx.xxx.xxx.xxx
User user
ProxyCommand ssh mgmtbox netcat -w 120 %h %p
Это прекрасно работает, пока файл конфигурации находится в заданном месте. Однако, если я хочу указать этот файл конфигурации с флагом -F ("ssh -F configfile box"), Я получаю следующую ошибку:
ssh: Could not resolve hostname jmp: Name or service not known
Проблема начинается только со вторым хостом. Если я использую "ssh -F файл конфигурации jmp"команда работает нормально.
Я немного потерялся здесь, так как файл конфигурации отлично работает до тех пор, пока он не используется с флагом -F. Любые идеи?
Я думаю в этом проблема
Имя хоста xxx.xxx.xxx.xxx:port
Я думаю так должно быть
HostName xxx.xxx.xxx.xxx
Port port
Конфигурация ssh HostName
параметр принимает имя хоста, а не имя хоста: порт
Это прекрасно работает, пока файл конфигурации находится в заданном месте. Однако, если я хочу указать этот файл конфигурации с помощью флага -F («ssh -F configfile box»), я получаю следующую ошибку:
Проблема в том, что при выполнении команды прокси вы не указываете расположение конфигурации. Это совершенно не связано ssh
instance, и поэтому он не знает имени хоста.
С помощью
ProxyCommand ssh -F configfile mgmtbox netcat -w 120 %h %p
заставит это работать на вас. Также применимо другое, указанное в другом ответе.