Назад | Перейти на главную страницу

Используйте один и тот же ключ SSH как для подключения к удаленному серверу, так и для отправки на GitHub с этого сервера.

Я создал пару ключей SSH для входа на удаленный сервер. Я также добавлено тот же открытый ключ в GitHub. Итак, с моей машины у меня есть SSH-доступ к GitHub:

Привет хдодов! Вы успешно прошли аутентификацию, но GitHub не предоставляет доступ к оболочке. Подключение к github.com закрыто.

Это означает, что я могу клонировать частные репозитории в своей учетной записи GitHub. на моей локальной машине.


Поскольку я использую один и тот же ключ для аутентификации на обоих GitHub и мой сервер, можно ли использовать тот же ключ для клонирования репо на сервере, а SSH-е к нему? Если я попробую, то получу:

git@github.com: в доступе отказано (публичный ключ).

И это имеет смысл, потому что у меня нет закрытого ключа на удаленном сервере - он находится на моей локальной машине. Но поскольку я использовал этот ключ для подключения к серверу в первую очередь, я доказал, что владею им, так что разве я не могу просто вытащить из репо?

Да, я могу просто скопировать свой закрытый ключ на сервер, но передача его через Интернет кажется мне плохой идеей. Или, возможно, использование одного и того же ключа для аутентификации в нескольких местах является более серьезной проблемой? Мне просто нужно иметь отдельные ключи?

Вероятно, вы ищете:

  1. Запуск агента аутентификации ssh (ssh-agent) на вашем клиентском компьютере ssh;
  2. И перенаправление соединения агента ssh на сервер (опция командной строки -A или конфигурационного файла ForwardAgent).

Таким образом, вы сможете использовать ключи, которые у вас есть локально на хосте на сервере, без физического копирования их туда.