Estive procurando uma solução para o seguinte problema nas últimas 2 horas, sem sorte.
Desenvolvimento:
Estou usando a autenticação de chave pública para conectar-me aos meus servidores. Eu uso o encaminhamento ssh-agent para não precisar gerenciar chaves públicas / privadas.
Digamos que eu tenho servidores A, B and C
.
Isso funciona muito bem se eu me conectar LOCAL ---> A ---> B
.
Também funciona muito bem se eu fizer LOCAL ---> A ---> C
.
Agora, se eu tentar LOCAL ---> A ---> B ---> C
, o SSH não poderá se conectar B to C
.
Vale a pena notar: eu me conecto ao servidor A como liquidez, enquanto eu me conecto ao servidor B como raiz. Conectar-se ao servidor B como liquidez corrige o problema, mas essa não é uma opção para mim.
Conforme a recomendação de um usuário, eu uso ssh -A
cada vez para garantir que o encaminhamento do agente esteja ativado.
Encontrei uma pergunta semelhante, sem resposta aqui: É possível encadear o encaminhamento de ssh-agent através de vários saltos?
De acordo com o @Zoredache aqui: /server//a/561576/45671 Eu só preciso ajustar a configuração do meu cliente em cada sistema intermediário. O que eu acredito que sim.
ProxyCommand
salto (como explicado aqui ) em vez de encaminhar o agente SSH. Para sua abordagem, você terá que confiar em todas as máquinas da cadeia, pois elas podem (ab) usar suas chaves privadas. Eu também gosto muito da abordagem ProxyCommand muito melhor, porque a verificação de hosts conhecidos é feita localmente e, além disso, você pode configurar a cadeia na sua configuração SSH para poder usar um único comando para se conectar ao C.