Конфигурация для использования git через ssh на хосте jump

Конфигурация для использования git через ssh на хосте jump

Если закрытый ключ доступен только на ноутбуке (Алиса), есть ли способ использовать этот ключ для аутентификации в gitlab с сервера (Боб)? (Незначительное, я думаю, осложнение в виде хоста перехода между Алисой и Бобом.)

алиса --> прыжок --> боб --> gitlab

В настоящее время ~/.ssh/config на Алисе выглядит следующим образом:

Host *
  PKCS11Provider /usr/lib/ssh-keychain.dylib

Host jump
  HostName jump01.example.org

Host bob
  HostName bob.example.org
  ProxyJump jump

У меня есть открытый ключ от токена Алисы на gitlab, и я хотел бы использовать его с gitкомандами от Боба. Например...

alice:~ $ ssh bob
Last login: Fri Aug 27 20:33:56 2021
bob:~ $ git clone [email protected]:my/repo.git

где у меня нет пары ключей на Бобе.

решение1

Вам необходимо иметь определенное доверие, которым bobнельзя злоупотреблять, но простой ответ — запустить ssh-agent и использовать переадресацию агента.

Запустите агента на alice, добавьте своего PKCS11Provider, используя его, ssh-add -Sа затем настройте переадресацию агента в своей конфигурации.

Host bob
  ForwardAgent yes
  HostName bob.example.org
  ProxyJump jump

Подробную информацию о поставщиках PKCS11 и переадресации агентов см. на страницах руководства по ssh-agent, ssh-add и ssh_config.

Незначительное, я думаю, осложнение, связанное с возможностью перехода хоста

Из-за того, как работает ProxyJump, это не является осложнением и буквально не имеет значения. С точки зрения клиента ssh на Алисе, это действует точно так же, как если бы вы установили прямое соединение с Бобом.

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