
Если закрытый ключ доступен только на ноутбуке (Алиса), есть ли способ использовать этот ключ для аутентификации в 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 на Алисе, это действует точно так же, как если бы вы установили прямое соединение с Бобом.