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

ssh: Ошибка прямого поиска хоста ProxyCommand

Я пытаюсь выполнить ssh multihop с моей локальной машины на сервер под названием кластер, используя промежуточный сервер под названием merlot. Согласно http://sshmenu.sourceforge.net/articles/transparent-mulithop.html, вот как я сделал свой ~ / .ssh / config:

Host merlot
  HostName merlot.stat.uconn.edu
  User vdeshpande
Host cluster
  HostName stats.phys.uconn.edu
  User vdeshpande
  ProxyCommand ssh -q merlot nc -q0 cluster 22

Когда я печатаю ssh cluster в терминал мне предлагается ввести пароль мерло. После того, как я ввожу его, я получаю такую ​​ошибку:

cluster: forward host lookup failed: Unknown host
ssh_exchange_identification: Connection closed by remote host

Как это исправить? Я проверил, что nc установлен. Кроме того, я могу использовать ssh для merlot, а затем ssh для кластера.

У вас неверная команда ProxyCommand. Есть два способа справиться с этим:

Предпочтительный способ - использовать собственный переключатель openssh -w:

ProxyCommand ssh -W %h:%p proxy

Версия netcat выглядит так:

ProxyCommand ssh -q proxy nc %h %p

Вы не можете использовать свои псевдонимы в удаленной команде netcat, потому что она их не знает. Отличный гид - замены %h, какой HostName Вы указали выше.

Итак, для вас:

ProxyCommand ssh -q merlot nc -q0 %h 22