Прокидываем приватный SSH-ключ на сервер

Представьте ситуацию, что вы подключаетесь к удалённым ресурсам, например к git, с помощью SSH-ключа. У вас на локальном компьютере есть сохранённый приватный SSH-ключ. Представьте также, что вы подключаетесь к какому-нибудь SSH-серверу с помощью с помощью другого SSH-ключа или через пару логин-пароль. И вам понадобилось на этом удалённом SSH-сервере выкачать проект с git. Сервер публичный. Закидывать туда файл со своим приватным ключом нельзя, но ключ нужен для авторизации на git.

Для решения проблемы, описанной абзацем выше, существует ssh-agent. Обычно он настроен так, что запускается автоматически, в противном же случае его нужно запустить вручную:

Затем добавьте туда ваш приватный SSH-ключ:

Теперь когда мы подключаемся к удалённому SSH-серверу нужно указать ключ -A:

Ключ -A  будет пробрасывать наш SSH-ключ, поэтому при выполнении команд git clone на SSH-сервере мы сможем авторизоваться в репозиториях с помощью нашего приватного ключа, при этом мы НЕ храним сам ключ на этом SSH-сервере.

Чтобы не приходилось добавлять свой приватный ключ в ssh-agent в каждой вкладке терминала отдельно, можно использовать специальную обёртку sshag:

Плюс добавить в свой “~/.bashrc” строки:

Вот и всё, хватит магии на сегодня.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *