Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. Необходимо скачать библиотеку rtpkcs11ecp по ссылке https://www.rutoken.ru/support/download/pkcs/ и установить ее в систему.

  2. Убедитесь, что установлены необходимые пакеты для подключения по ssh с помощью Рутокен. Для этого откройте Терминал и и введите команду:

    , команда может отличаться.

    # для пользователей с deb-based системой
    sudo apt install pcscd openssh-client

    InfoВ зависимости от вашей операционной системы

    opensc
     
    # для пользователей с rpm-based системой
    sudo dnf install pcscd openssh-client opensc

3. Генерация ключевой пары

...

4. Добавление открытого ключа SSH в аккаунте GitHub

  1. Скопируйте открытый ключ вывод команды в буфер обмена:

    cat key.pub

    Пример открытого ключа:

    ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD1zhn74Gfgoueap5R8Y13zR5g+9Ov/V4ZI0UwRKZJ1CkzO+WNG07iWXyIB93CG4H8Wq/cDR+j2zkLgFcwPZyIFe02jYn2fvHX6Sy0bh5asmRr1fITWRiQxbaL/bJJguIVFIqo1sP/fcIMYVJKPYtoDr5xqb0QMLQsSpy3GAxsUu2Nz9sCE9e2QVHQQlAy5APPoH4lWHGXtl+uzR1k8TsWlnuaQXcVWh51aj1I28LYqWeWc/xquJEV7ehc0WvbXv32kEZNjwgc34OZtR90btY0VdBbrQSUgt9+I+WBcCniXqeS3H7GZPg45BBTYSIgs8AKgJ4a0khpBbisjsiz7+iD/

  2. Добавьте ключ на GitHub:

    • Войдите в свой аккаунт на GitHub.

    • Перейдите в раздел Settings (Настройки).

    • Выберите SSH and GPG keys в меню слева.

    • Нажмите New SSH key и вставьте ключ из буфера обмена.

    • Дайте ключу название и сохраните изменения.

...

  1. Запустите SSH-агент:

    ssh-agent -P /opt/aktivco/rutokenecp/amd64/librtpkcs11ecp.so

  2. Подключитесь к аккаунту 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.

Для Windows:

6. Предварительная подготовка

  1. Необходимо скачать и установить драйверы Рутокен для Windows по ссылкеhttps://www.rutoken.ru/support/download/windows/ и установить их в систему.

7. Генерация ключевой пары

  1. Скачайте и установите OpenSC для Windows по ссылке https://github.com/OpenSC/OpenSC/releases.

  2. Сгенерируйте ключевую пару на Рутокен. Для этого необходимо выполнить команду через Командную строку или 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

    Сгенерировать ключи можно с помощью портала ra.rutoken.ru


  3. Конвертируйте открытый ключ в формат SSH. Для этого, подключите Рутокен к компьютеру и в командной строке введите команду.

    ssh-keygen -D "C:\Windows\System32\rtPKCS11ECP.dll" -I 0:45 >> key.pub
    Обратите внимание, что вам необходимо будет указать ID вашего ключа. В данном примере ID=45.

8. Добавление открытого ключа SSH в аккаунте GitHub

  1. Скопируйте открытый ключ в буфер обмена. Для этого, можете открыть файл key.pub любым текстовым редактором.

    Пример открытого ключа:

    ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD1zhn74Gfgoueap5R8Y13zR5g+9Ov/V4ZI0UwRKZJ1CkzO+WNG07iWXyIB93CG4H8Wq/cDR+j2zkLgFcwPZyIFe02jYn2fvHX6Sy0bh5asmRr1fITWRiQxbaL/bJJguIVFIqo1sP/fcIMYVJKPYtoDr5xqb0QMLQsSpy3GAxsUu2Nz9sCE9e2QVHQQlAy5APPoH4lWHGXtl+uzR1k8TsWlnuaQXcVWh51aj1I28LYqWeWc/xquJEV7ehc0WvbXv32kEZNjwgc34OZtR90btY0VdBbrQSUgt9+I+WBcCniXqeS3H7GZPg45BBTYSIgs8AKgJ4a0khpBbisjsiz7+iD/

  2. Добавьте ключ на GitHub:

    • Войдите в свой аккаунт на GitHub.

    • Перейдите в раздел Settings (Настройки).

    • Выберите SSH and GPG keys в меню слева.

    • Нажмите New SSH key и вставьте ключ из буфера обмена.

    • Дайте ключу название и сохраните изменения.

9. Подключение по SSH к GitHub из Windows

  1. Подключитесь к аккаунту 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.