ssh: Falha na procura do host de encaminhamento ProxyCommand

2

Estou tentando fazer um ssh multihop da minha máquina local para um servidor chamado cluster, usando um servidor chamado Merlot in-between. De acordo com o link , foi assim que eu fiz o meu ~ / .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

Quando eu digito ssh cluster no terminal, me perguntam a senha de merlot. Depois de entrar, recebo este erro:

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

Como faço para corrigir isso? Eu verifiquei que o nc está instalado. Além disso, posso ssh em merlot e depois em ssh em cluster.

    
por ved 02.11.2015 / 20:41

1 resposta

2

Você tem o ProxyCommand errado. Existem duas maneiras de lidar com isso:

A forma preferida é usar o switch nativo do openssh -w :

ProxyCommand ssh -W %h:%p proxy

A versão do netcat parece assim:

ProxyCommand ssh -q proxy nc %h %p

Você não pode usar seus aliases no comando netcat remoto, porque não os conhece. Grande guia são substituições %h , que é o HostName especificado acima.

Então, para o seu caso:

ProxyCommand ssh -q merlot nc -q0 %h 22
    
por 02.11.2015 / 21:10