pssh e o encaminhamento de chaves do ssh-agent via host de salto

2

Estou tentando conectar-me a vários hosts usando pssh em combinação com um host de salto e encaminhamento de chaves do agente ssh.

Infelizmente, isso não é regular, mas com diferentes hosts falhando. Portanto, este é apenas um exemplo que seria diferente da próxima vez:

 ~> pssh -h /tmp/hostfile -o /tmp/log  -e /tmp/error/ -v uname -a
[1] 13:51:18 [FAILURE]  host1 Exited with error code 255
[2] 13:51:19 [SUCCESS]  host2 
[3] 13:51:19 [SUCCESS]  host3 
[4] 13:51:19 [SUCCESS]  host4
[5] 13:51:19 [SUCCESS]  host5
[6] 13:51:19 [SUCCESS]  host6
[7] 13:51:19 [SUCCESS]  host7
….
[16] 13:51:19 [SUCCESS] host16

Quando tenho uma visão mais profunda, estou chegando

ssh_exchange_identification: Connection closed by remote host
ssh_exchange_identification: Connection closed by remote host

no host que falhou. Isso se parece muito com o encaminhamento de chave do agente ssh via host de salto que não funcionou nesse cenário específico.

Dentro do meu ~ .ssh / config, tem esta aparência:

ForwardAgent yes

Host *.tld.foo
    User frlan
    ProxyCommand ssh tld-jump-host nc %h %p

Host tld-jump-host
    HostName myhost.example.com
    User frlan
    ProxyCommand none

Geralmente isso está funcionando. Agora eu estou querendo saber por que começar em cerca de 15 hosts em algum momento a chave não é encaminhada um dhow que eu possa atualizar minha configuração para evitar que isso aconteça.

    
por frlan 10.07.2017 / 14:01

1 resposta

2

I'm trying to connect to a number of hosts using pssh in combination with a jump host and ssh-agent key forwarding.

Para conexões que usam ProxyCommand , você não precisa de nenhum ssh-agent de encaminhamento. Toda a autenticação é feita diretamente do seu computador.

Página de manual para ssh_config diz

For each parameter, the first obtained value will be used.

portanto, o bloco Host tld-jump-host deve estar antes do bloco Host *.tld.foo , especialmente se a caixa de salto tiver o mesmo tld que os hosts por trás dele.

Se você estiver se conectando a vários hosts por trás dessa caixa de salto, talvez esteja acionando o limite de conexão e as conexões serão rejeitadas aleatoriamente. Você pode tentar evitá-lo batendo o limite de taxa de conexão no servidor de jumpbox ( MaxStartups opção em sshd_config ) ou multiplexar as conexões para a caixa de salto criando o diretório ~/.ssh/cm/ e adicionando o seguinte ao bloco jumbox em ssh_config :

ControlMaster auto
ControlPath ~/.ssh/cm/%C
ControlPersist 5m
    
por 10.07.2017 / 14:13

Tags