Я пытаюсь подключиться к нескольким хостам, используя pssh в сочетании с хостом перехода и пересылкой ключей ssh-agent.
К сожалению, это не всегда удается, но с разными хостами. Это всего лишь пример, который в следующий раз будет выглядеть иначе:
~> 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
Когда я смотрю повнимательнее, я получаю
ssh_exchange_identification: Connection closed by remote host
ssh_exchange_identification: Connection closed by remote host
на хосте, который не удалось. Это похоже на то, что перенаправление ключей ssh-agent через узел перехода не сработало в этом конкретном сценарии.
Внутри моего ~ .ssh / config это выглядит так:
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
Обычно это работает. Теперь мне интересно, почему, начиная примерно с 15 хостов, иногда ключ не пересылается, и я могу обновить свою конфигурацию, чтобы этого не произошло.
Я пытаюсь подключиться к нескольким хостам, используя pssh в сочетании с хостом перехода и пересылкой ключей ssh-agent.
Для подключений с использованием ProxyCommand
тебе не нужно ничего ssh-agent
пересылка. Вся аутентификация выполняется прямо с вашего компьютера.
Страница руководства для ssh_config
говорит
Для каждого параметра будет использоваться первое полученное значение.
Следовательно Host tld-jump-host
блок должен быть до Host *.tld.foo
блок, особенно если поле прыжка имеет тот же tld, что и хосты за ним.
Если вы подключаетесь ко многим хостам за этим блоком перехода, вы можете активировать ограничение на количество подключений, и подключения будут случайным образом отклоняться. Вы можете попытаться избежать этого, увеличив ограничение скорости соединения на сервере jumpbox (MaxStartups
вариант в sshd_config
) или мультиплексируйте подключения к окну перехода, создав каталог ~/.ssh/cm/
и добавив следующее в блок jumbox в ssh_config
:
ControlMaster auto
ControlPath ~/.ssh/cm/%C
ControlPersist 5m