Ключи SSH
Ключи SSH
Создание SSH ключей
Для создания SSH ключей по алгоритму RSA на компьютере с операционной системой Windows, вы можете следовать следующему порядку действий: Откройте командную строку (CMD) с правами администратора и введите следующую команду:
ssh-keygen -t rsa -C "your_email@example.com"
где ssh-keygen
- это команда для создания SSH ключей;
-t rsa
- указывает на тип ключа, который вы хотите создать. RSA - это наиболее распространенный тип ключа;
-C your_email@example.com
- это комментарий, который будет привязан к вашему ключу. Вы можете указать здесь свой адрес электронной почты или любое другое описание.
Далее можете два раза нажать Enter, если не хотите менять расположение создаваемых ключей и задавать кодовое слово:
Enter file in which to save the key (C:\Users\<your_username>/.ssh/id_ecdsa):
Enter passphrase (empty for no passphrase):
Для создания пары ключей другой криптографической схемы цифровой подписи можно использовать следующие команды:
- для схемы цифровой подписи, основанной на эллиптической кривой Curve25519 и хэш-функции SHA-512:
ssh-keygen -t ed25519
- для схем цифровой подписи, основанных на алгоритме ECDSA и хэш-функции SHA-2
ssh-keygen -t ecdsa -b 256
ssh-keygen -t ecdsa -b 384
ssh-keygen -t ecdsa -b 521
Добавление SSH ключа
Чтобы клонировать репозиторий, необходимо добавить открытый SSH ключ (обычно он имеет расширение .pub
, например id_rsa.pub
).
Для перехода на страницу добавления SSH ключа нажмите на иконку профиля, затем Настройки:
![добавление ключей SSH, шаг 1](/docs/_next/static/media/addSSHStep1.6967595c.png)
На вкладке SSH ключи нажмите Добавить SSH ключ:
![добавление ключей SSH, шаг 1](/docs/_next/static/media/addSSHStep2.6bef930f.png)
Содержимое публичного ключа можно скопировать, открыв файл в текстовом редакторе, или сразу скопировать содержимое в буфер через команду в консоли:
cat ~/.ssh/id_rsa.pub
На открывшейся странице следует ввести произвольное название своего ключа и вставить содержимое открытого (публичного) ключа:
![добавление ключей SSH, шаг 2](/docs/_next/static/media/public_ssh_key_insert.bcdd6787.png)
Проверка существующих SSH ключей
Чтобы проверить наличие уже сгенерированных ключей на вашем компьютере введите в консоли git:
ssh-agent -s
Пример результата команды при наличии ключей:
SSH_AUTH_SOCK=/tmp/ssh-40ZRlMnJMhEY/agent.1794; export SSH_AUTH_SOCK;
SSH_AGENT_PID=1795; export SSH_AGENT_PID;
echo Agent pid 1795;
В данном случае, результат команды показывает, что был создан SSH-агент с PID (процессным идентификатором) 1795 и что он использует сокет /tmp/ssh-40ZRlMnJMhEY/agent.1794 для связи с клиентами.
Расположение ключей:
- в ОС Windows ключи могут располагаться по адресу
C:\Users\<your_username>\.ssh
; - в ОС Linux -
/home/<your_username>/.ssh
(директория может быть скрытой).
Чтобы открыть файловый менеджер ОС Linux в папке с ssh ключами выполните:
cd ~/.ssh
xdg-open .
Подключение удаленного репозитория по SSH
Для переподключения удаленного репозитория по SSH выполните команду:
git remote set-url origin ssh://git@gitverse.ru:2222/<username>/<repository_name>
Вместе с тем не обязательно отключать репозиторий от соединения по HTTPS перед подключением по SSH. Достаточно добавить новый URL для подключения по SSH с помощью команды git remote set-url
флагом --add
. Git позволяет иметь несколько URL для каждого удаленного репозитория и использовать их по вашему усмотрению.
Пример:
git remote set-url --add origin ssh://git@gitverse.ru:2222/<username>/<repository_name>