Переадресация агента SSH, когда хост и имя хоста отличаются

Переадресация агента SSH, когда хост и имя хоста отличаются

На моем клиенте настроен 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.

Связанный контент