Назад | Перейти на главную страницу

ssh не может разрешить второй хост из конфигурации при использовании -F

Чтобы получить доступ к определенной машине, мне нужно пройти через прокси, а затем через 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

заставит это работать на вас. Также применимо другое, указанное в другом ответе.