1. Проверка модели устройства
- Подключите USB-токен к компьютеру.
Для определения названия модели USB-токена откройте Терминал и введите команду:
lsusb
В результате в окне Терминала отобразится название модели USB-токена:
Убедитесь в том, что используете: Aktiv Rutoken ECP.
2. Предварительная подготовка
- Необходимо скачать библиотеку rtpkcs11ecp по ссылке https://www.rutoken.ru/support/download/pkcs/ и установить ее в систему.
Убедитесь, что установлены необходимые пакеты для подключения по ssh с помощью Рутокен. Для этого откройте Терминал и введите команду:
sudo apt install pcscd openssh-client
В зависимости от вашей операционной системы, команда может отличаться.
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, but GitHub does not provide shell access.
6. Подключение по SSH к GitHub из Windows
- Необходимо скачать драйверы Рутокен для Windows по ссылке https://www.rutoken.ru/support/download/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, but GitHub does not provide shell access