ssh: ProxyCommand via conexão persistente do ControlMaster

1

Eu tenho dois servidores, middle e remote . middle é usado como proxy para acessar remote . Eu configurei a configuração ssh de middle para que ela preservasse as conexões com remote via ControlMaster, da seguinte forma

Host remote ControlMaster auto ControlPath ~/.ssh/%r@%h:%p ControlPersist yes

Eu criei uma conexão persistente de middle a remote . Isso é conveniente porque a autenticação em remote é complexa.

Gostaria de configurar minha configuração ssh local para que eu possa ssh de localhost para remote via middle , reutilizando a conexão criada acima . Eu posso fazer isso manualmente como ssh -t middle ssh remote , mas não consigo descobrir uma maneira de realizar a mesma coisa usando a opção ProxyCommand, o que é especialmente irritante se eu quiser scp um arquivo para remote .

ProxyCommands que não funcionam incluem

  • ssh middle -W remote:22 (não reutiliza conexão)
  • ssh middle -t remote (vai até um shell, confundindo meu cliente ssh local, que espera falar com o sshd, não com um shell)
por Bakkot 28.09.2015 / 22:07

1 resposta

0

Eu acho que você entendeu mal todo o mecanismo ControlMaster no ssh. A ideia é que a conexão seja reutilizada no SISTEMA LOCAL - isto é, no servidor "central". Então, em essência, para reutilizar a conexão, você precisaria invocar o cliente ssh no "middle". Assim:

ssh meio "ssh remoto"

Isso conectará você ao "meio" primeiro e, em seguida, iniciará um cliente ssh, para conectá-lo ao "remoto". A segunda conexão irá, com a configuração correta do ControlMaster, reutilizar a conexão existente e persistente.

    
por 29.09.2015 / 00:27

Tags