Для Linux систем
1. Предварительная подготовка
Проверка модели устройства
- Подключите USB-токен к компьютеру.
Откройте терминал и выполните команду:
lsusb
В результате в окне терминала отобразится название модели USB-токена:
Убедитесь в том, что используете Aktiv Rutoken ECP.
Установка библиотеки rtPKCS11ecp
- Перейдите в Центр загрузки по ссылке: https://www.rutoken.ru/support/download/pkcs/.
- В разделе Пользователям GNU/Linux выберите и загрузите установочный файл для своей операционной системы.
- Установите библиотеку:
- через графический интерфейс:
- Дважды щелкните левой кнопкой мыши по загруженному архиву. Откроется менеджер установки приложений.
- Нажмите Установить.
- через терминал:
- Откройте терминал.
Перейдите в папку с загруженным файлом командой
cd
:cd /путь/к/папке/с/файлом
Установите загруженный файл:
В DEB-based системахsudo apt-get install ./librtpkcs11ecp_<версия>.deb
В RPM-based системахsudo dnf install ./librtpkcs11ecp_<версия>.rpm
В ALT Linuxsu -c "apt-get install ./librtpkcs11ecp_<версия>.rpm"
- через графический интерфейс:
Установка пакетов для подключения по SSH
- Откройте терминал.
- Установите пакеты, необходимые для подключения по SSH с помощью Рутокена:В DEB-based системах
sudo apt install pcscd openssh-client opensc
В RPM-based системахsudo dnf install pcsc-lite openssh-clients opensc
В ALT Linuxsu -c "apt-get install pcsc-lite openssh-clients opensc"
2. Генерация ключевой пары
- Откройте терминал.
Сгенерируйте ключевую пару на Рутокене:
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
3. Добавление открытого ключа 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 и вставьте ключ из буфера обмена.
Дайте ключу название и сохраните изменения.
4. Подключение по 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 <USERNAME>! You've successfully authenticated.
Для Windows:
1. Предварительная подготовка
Для подключения по SSH с использованием устройства Рутокен необходимо скачать и установить драйверы Рутокен для Windows:
- Перейдите в Центр загрузки по ссылке: https://www.rutoken.ru/support/download/windows/.
- Нажмите на ссылку Драйверы Рутокен для Windows, EXE, чтобы загрузить установочный файл.
- Откройте загруженный файл и следуйте инструкциям установщика.
2. Генерация ключевой пары
- Установите OpenSC для Windows по ссылке: https://github.com/OpenSC/OpenSC/releases.
- Подключите устройство Рутокен к компьютеру.
- Откройте командную строку или PowerShell.
Сгенерируйте ключевую пару на Рутокен:
"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
3. Добавление открытого ключа 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 и вставьте ключ из буфера обмена.
Дайте ключу название и сохраните изменения.
4. Подключение по SSH к GitHub из Windows
Подключитесь к GitHub через SSH:
ssh -I "C:\Windows\System32\rtPKCS11ECP.dll" -T git@github.com
Ожидаемый результат:
Enter PIN for 'Rutoken ECP <no label>': Hi <USERNAME>! You've successfully authenticated.