ssh não pode resolver o segundo host da configuração ao usar -F

1

Para acessar uma determinada máquina, preciso passar por um proxy e, em seguida, por meio de um jumphost, antes de estar no local desejado.

Para isso estou usando um arquivo de configuração como este:

### 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

Isso funciona perfeitamente, desde que o arquivo de configuração esteja no local definido. No entanto, se eu quiser especificar este arquivo de configuração com o sinalizador -F (" ssh -F caixa de arquivos de configuração "), recebo o seguinte erro:

ssh: Could not resolve hostname jmp: Name or service not known

O problema começa apenas com o segundo host. Se eu usar " ssh -F configfile jmp " o comando funciona bem.

Estou um pouco perdido aqui, já que o arquivo de configuração funciona perfeitamente até ser usado por meio do sinalizador -F. Alguma idéia?

    
por su_li 21.03.2017 / 11:14

2 respostas

1

This works perfectly fine as long as the config file is in its set location. However, if I want to specify this config file with the -F flag ("ssh -F configfile box"), I get the following error:

O problema é que, durante a execução do comando proxy, você não especifica o local de configuração. É completamente não relacionado ssh instance e, portanto, não sabe o nome do host.

Usando

ProxyCommand ssh -F configfile mgmtbox netcat -w 120 %h %p

fará com que funcione para você. Também a outra coisa apontada na outra resposta se aplica.

    
por 21.03.2017 / 11:42
1

Eu acho que esse é o problema

HostName xxx.xxx.xxx.xxx:port

Eu acho que deveria ser

HostName xxx.xxx.xxx.xxx
Port port

O parâmetro ssh config HostName usa um nome de host, não um nome de host: port

    
por 21.03.2017 / 11:25