Проброс приватного ключа SSH позволяет, будучи подключённым к одному удалённому серверу, подключаться к другим, используя один и тот же приватный ключ, находящийся на вашем компьютере. Функция может быть очень полезна, если вы, например, работаете с GIT, прямо на удалённом сервере и вам нужно отправить с него же правки в GitHub.
Для проброса приватного ключа используется SSH Агент. Способ одинаково работает в консоли любых операционных систем Linux, macOS и Windows.
Первым делом проверяем, запущен ли агент, и знает ли он что-то о вашем ключе:
ssh-add -l
Если получаем ответ: Could not open a connection to your authentication agent, запускаем агент командой:
eval 'ssh-agent'
Если ответ: The agent has no identities, значит нужно сообщить ему о вашем приватном ключе, выполнив команду:
ssh-add
Если в ответе команды ssh-add -l вы видите путь к своему приватному ключу, значит всё хорошо, и вы можете подключаться к удалённому серверу по ssh, добавив при подключении опцию -A, то есть вот так:
ssh -A user@host:port
Или можно установить опцию ForwardAgent yes в файле ~/.ssh/config на вашем локальном компьютере:
Host * ForwardAgent yes
Для проверки, что всё хорошо и ключ проброшен, на удалённом сервере можно выполнить команду:
echo "$SSH_AUTH_SOCK"
Если всё ок, то она должна вернуть что-то похожее на:
/tmp/ssh-DCIux21917/agent.21917