
На моем клиенте настроен SSH-агент и следующий пример конфигурации
Host gitserver
Hostname gitserver.example.com
ForwardAgent yes
User git
IdentityFile C:\Users\user\.ssh\id_rsa.pub
IdentitiesOnly yes
На первом сервере перехода, через который я хочу перенаправить своего агента, как мне правильно использовать пересылку без грубой проверки всех идентификаторов, которые есть у моего агента SSH, не получая ошибку too many authentication failures
?
Я могу заставить его работать, если ограничу агент SSH, чтобы он содержал 5 или менее ключей, так как это находится в пределах допустимого количества попыток аутентификации. Если я попытаюсь использовать псевдоним gitserver
хоста на сервере, он не будет знать, что он означает то, что он делает в конфигурации SSH клиента.
Нужно ли мне иметь надлежащую настройку конфигурации SSH на сервере для этого хоста?
Должен быть более портативный вариант, чем необходимость настраивать каждый сервер, с которым я хочу использовать пересылку агента.
Я не думаю, что это проблема, специфичная для Windows, так как у меня IdentitiesOnly yes
все отлично работает с большими хранилищами ключей в агенте SSH. Похоже, проблема в пересылке правильной информации на сервер первого перехода. Надеюсь, мой вопрос достаточно ясен, чтобы понять мою проблему.
решение1
Во-первых, я приношу извинения, если это звучит так, будто я делаю предположения, поскольку я не собираюсь оскорблять чей-либо интеллект.
Я также не совсем уверен, что полностью понимаю вашу проблему, но поскольку других ответов пока нет, я решил попробовать.
К сожалению, не имея дополнительной информации о конфигурации вашей сети и DNS, сложно точно определить, в чем проблема.
Поэтому я просто перечислю некоторые предложения и ресурсы, которыми вы можете воспользоваться, если они, конечно, будут вам полезны.
Во-первых, если рассматриваемые машины в настоящее время не находятся в домене, я бы рассмотрел возможность замены полного доменного имени в настройке «Имя хоста» на IP-адрес машины (как в примере ниже).
Host Hostname
Hostname 192.168.0.250
ForwardAgent yes
User username
IdentityFile C:\Users\username\.ssh\id_rsa
Вы также можете запустить "ssh-добавить -L" Команда, подтверждающая, что ваш SSH-агент запущен и хранит ваш ключ(и).
Дополнительную информацию/подробности относительно вышеупомянутой команды можно получить, перейдя по ссылке ниже.
https://superuser.com/a/1141035
Что касается запуска OpenSSH Agent Forwarding в Windows, вам, возможно, захочется ознакомиться со следующими статьями, поскольку в них описаны некоторые важные шаги, специфичные для Windows 10/11.
https://richardballard.co.uk/ssh-keys-on-windows-10/
http://blog.zencoffee.org/2022/11/openssh-on-windows-11/
Наконец, следует отметить, что до недавнего времени переадресация агента SSH фактически не поддерживалась в Windows 10.
При этом вам, возможно, захочется проверить совместимость ваших версий Windows и OpenSSH с функцией переадресации агента SSH.
Надеюсь, это будет хоть немного полезно.
решение2
Однако, отвечая на ваш вопрос, если вы прочитаете раздел «За и против», то, похоже, придет к выводу, что автоматизация, скорее всего, невозможна.
Недостатки переадресации SSH-агента:
- Для развертывания пользователям необходимо использовать SSH-соединение; автоматизированные процессы развертывания использовать нельзя.
- Переадресация агента SSH может быть проблематичной для пользователей Windows.
https://docs.github.com/en/authentication/connecting-to-github-with-ssh/managing-deploy-keys.