Для Linux систем:
1. Проверка модели устройства
- Подключите USB-токен к компьютеру.
Для определения названия модели USB-токена откройте Терминал и введите команду:
lsusb
В результате в окне Терминала отобразится название модели USB-токена:
Убедитесь в том, что используете: Aktiv Rutoken ECP.
2. Предварительная подготовка
- Необходимо скачать библиотеку rtpkcs11ecp по ссылке https://www.rutoken.ru/support/download/pkcs/ и установить ее в систему.
Убедитесь, что установлены необходимые пакеты для подключения по ssh с помощью Рутокен. Для этого откройте Терминал и введите команду:
# для пользователей с deb-based системой
sudo apt
install
pcscd openssh-client opensc
# для пользователей с rpm-based системой
sudo
dnf
install
pcscd openssh-client opensc
3. Генерация ключевой пары
Сгенерируйте ключевую пару на Рутокен:
pkcs11-tool --module /usr/lib/librtpkcs11ecp.so --keypairgen --key-type rsa:2048 -l --id 45
Конвертируйте открытый ключ в формат SSH:
ssh-keygen -D /usr/lib/librtpkcs11ecp.so -I 0:45 >> key.pub
4. Добавление открытого ключа SSH в аккаунте GitHub
Скопируйте вывод команды в буфер обмена:
cat key.pub
Пример открытого ключа:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD1zhn74Gfgoueap5R8Y13zR5g+9Ov/V4ZI0UwRKZJ1CkzO+WNG07iWXyIB93CG4H8Wq/cDR+j2zkLgFcwPZyIFe02jYn2fvHX6Sy0bh5asmRr1fITWRiQxbaL/bJJguIVFIqo1sP/fcIMYVJKPYtoDr5xqb0QMLQsSpy3GAxsUu2Nz9sCE9e2QVHQQlAy5APPoH4lWHGXtl+uzR1k8TsWlnuaQXcVWh51aj1I28LYqWeWc/xquJEV7ehc0WvbXv32kEZNjwgc34OZtR90btY0VdBbrQSUgt9+I+WBcCniXqeS3H7GZPg45BBTYSIgs8AKgJ4a0khpBbisjsiz7+iD/
Добавьте ключ на GitHub:
Войдите в свой аккаунт на GitHub.
Перейдите в раздел Settings (Настройки).
Выберите SSH and GPG keys в меню слева.
Нажмите New SSH key и вставьте ключ из буфера обмена.
Дайте ключу название и сохраните изменения.
5. Подключение по SSH к GitHub из Linux
Запустите SSH-агент:
ssh-agent -P /opt/aktivco/rutokenecp/amd64/librtpkcs11ecp.so
Подключитесь к GitHub через SSH:
ssh -I /usr/lib/librtpkcs11ecp.so -T git@github.com
Ожидаемый результат:
Enter PIN for 'Rutoken ECP <no label>': Hi User! You've successfully authenticated.
Для Windows:
6. Предварительная подготовка
- Необходимо скачать и установить драйверы Рутокен для Windows по ссылке https://www.rutoken.ru/support/download/windows/.
7. Генерация ключевой пары
- Скачайте и установите OpenSC для Windows по ссылке https://github.com/OpenSC/OpenSC/releases.
Сгенерируйте ключевую пару на Рутокен. Для этого необходимо выполнить команду через Командную строку или Powershell с указанием папки, где установлена OpenSC. По умолчанию, OpenSC устанавливается в папку C:\Program Files\OpenSC\
"C:\Program Files\OpenSC\tools\pkcs11-tool.exe" --module "C:\Program Files\OpenSC\pkcs11\opensc-pkcs11.dll" --keypairgen --key-type rsa:2048 -l --id 45
Конвертируйте открытый ключ в формат SSH. Для этого, подключите Рутокен к компьютеру и в командной строке введите команду.
ssh-keygen -D "C:\Windows\System32\rtPKCS11ECP.dll" -I 0:45 >> key.pub
8. Добавление открытого ключа SSH в аккаунте GitHub
Скопируйте открытый ключ в буфер обмена. Для этого, можете открыть файл key.pub любым текстовым редактором.
Пример открытого ключа:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD1zhn74Gfgoueap5R8Y13zR5g+9Ov/V4ZI0UwRKZJ1CkzO+WNG07iWXyIB93CG4H8Wq/cDR+j2zkLgFcwPZyIFe02jYn2fvHX6Sy0bh5asmRr1fITWRiQxbaL/bJJguIVFIqo1sP/fcIMYVJKPYtoDr5xqb0QMLQsSpy3GAxsUu2Nz9sCE9e2QVHQQlAy5APPoH4lWHGXtl+uzR1k8TsWlnuaQXcVWh51aj1I28LYqWeWc/xquJEV7ehc0WvbXv32kEZNjwgc34OZtR90btY0VdBbrQSUgt9+I+WBcCniXqeS3H7GZPg45BBTYSIgs8AKgJ4a0khpBbisjsiz7+iD/
Добавьте ключ на GitHub:
Войдите в свой аккаунт на GitHub.
Перейдите в раздел Settings (Настройки).
Выберите SSH and GPG keys в меню слева.
Нажмите New SSH key и вставьте ключ из буфера обмена.
Дайте ключу название и сохраните изменения.
9. Подключение по SSH к GitHub из Windows
Подключитесь к GitHub через SSH:
ssh -I "C:\Windows\System32\rtPKCS11ECP.dll" -T git@github.com
Ожидаемый результат:
Enter PIN for 'Rutoken ECP <no label>': Hi User! You've successfully authenticated.