Page tree

Versions Compared

Key

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

Table of Contents

Для Linux систем

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

Проверка модели устройства

  1. Подключите USB-токен к компьютеру.
  2. Откройте терминал и выполните команду:

    lsusb

    В результате в окне терминала отобразится название модели USB-токена:

    Убедитесь в том, что используете Aktiv Rutoken ECP.

Установка библиотеки rtPKCS11ecp

  1. Перейдите в Центр загрузки по ссылке: https://www.rutoken.ru/support/download/pkcs/.
  2. В разделе Пользователям GNU/Linux выберите и загрузите установочный файл для своей операционной системы.
  3. Установите библиотеку:
    • через графический интерфейс:
      1. Дважды щелкните левой кнопкой мыши по загруженному архиву. Откроется менеджер установки приложений.
      2. Нажмите Установить.
    • через терминал:
      1. Откройте терминал.
      2. Перейдите в папку с загруженным файлом командой cd:

        cd /путь/к/папке/с/файлом
      3. Установите загруженный файл:

        Code Block
        languagebash
        titleВ DEB-based системах
        sudo apt-get install ./librtpkcs11ecp_<версия>.deb
        Code Block
        languagebash
        titleВ RPM-based системах
        sudo dnf install ./librtpkcs11ecp_<версия>.rpm
        Code Block
        languagebash
        titleВ ALT Linux
        su -c "apt-get install ./librtpkcs11ecp_<версия>.rpm"

Установка пакетов для подключения по SSH

  1. Откройте терминал.
  2. Установите пакеты, необходимые для подключения по SSH с помощью Рутокена:
    Code Block
    languagebash
    titleВ DEB-based системах
    sudo apt install pcscd openssh-client opensc
    Code Block
    languagebash
    titleВ RPM-based системах
    sudo dnf install pcsc-lite openssh-clients opensc
    Code Block
    languagebash
    titleВ ALT Linux
    su -c "apt-get install pcsc-lite openssh-clients opensc"

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

  1. Откройте терминал.
  2. Сгенерируйте ключевую пару на Рутокене:

    pkcs11-tool --module /usr/lib/librtpkcs11ecp.so --keypairgen --key-type rsa:2048 -l --id 45

  3. Конвертируйте открытый ключ в формат SSH:

    ssh-keygen -D /usr/lib/librtpkcs11ecp.so -I 0:45 >> key.pub

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

  1. Выполните команду:

    cat key.pub
  2. Скопируйте открытый ключ из вывода команды в буфер обмена.

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

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

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

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

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

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

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

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

4. Подключение по SSH к GitHub из Linux

  1. Откройте терминал.
  2. Запустите SSH-агент:

    ssh-agent -P /opt/aktivco/rutokenecp/amd64/librtpkcs11ecp.so
  3. Подключитесь к 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: 

  1. Перейдите в Центр загрузки по ссылке: https://www.rutoken.ru/support/download/windows/.
  2. Нажмите на ссылку Драйверы Рутокен для Windows, EXE, чтобы загрузить установочный файл.
  3. Откройте загруженный файл и следуйте инструкциям установщика.

Установка OpenSC

Для генерации ключевой пары нужно установить OpenSC:

  1. Перейдите по ссылке: https://github.com/OpenSC/OpenSC/releases.
  2. Загрузите установочные файлы:
    • для 32-разрядных систем — OpenSC-<версия>-win32.msi;
    • для 64-разрядных систем — OpenSC-<версия>-win32.msi и OpenSC-<версия>-win64.msi.
  3. Откройте загруженные файлы и следуйте инструкциям установщика.

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

  1. Подключите устройство Рутокен к компьютеру.
  2. Откройте командную строку или PowerShell.
  3. Сгенерируйте ключевую пару на Рутокен:

    Code Block
    "C:\Program Files\OpenSC Project\OpenSC\tools\pkcs11-tool.exe" --module "C:\Program Files\OpenSC Project\OpenSC\pkcs11\opensc-pkcs11.dll" --keypairgen --key-type rsa:2048 -l --id 45
    Note

    По умолчанию OpenSC устанавливается в папку C:\Program Files\OpenSC. Если во время установки в шаге 1 был выбран другой путь, измените пути к файлам pkcs11-tool.exe и opensc-pkcs11.dll в команде.

  4. Конвертируйте открытый ключ в формат SSH:

    Code Block
    ssh-keygen -D "C:\Windows\System32\rtPKCS11ECP.dll" -I 0:45 >> key.pub

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

  1. Откройте файл key.pub любым текстовым редактором.

    Tip

    По умолчанию файл создается в той же папке, где была выполнена команда ssh-keygen.

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

    Пример открытого ключа
    ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD1zhn74Gfgoueap5R8Y13zR5g+9Ov/V4ZI0UwRKZJ1CkzO+WNG07iWXyIB93CG4H8Wq/cDR+j2zkLgFcwPZyIFe02jYn2fvHX6Sy0bh5asmRr1fITWRiQxbaL/bJJguIVFIqo1sP/fcIMYVJKPYtoDr5xqb0QMLQsSpy3GAxsUu2Nz9sCE9e2QVHQQlAy5APPoH4lWHGXtl+uzR1k8TsWlnuaQXcVWh51aj1I28LYqWeWc/xquJEV7ehc0WvbXv32kEZNjwgc34OZtR90btY0VdBbrQSUgt9+I+WBcCniXqeS3H7GZPg45BBTYSIgs8AKgJ4a0khpBbisjsiz7+iD/
  3. Добавьте ключ на GitHub:

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

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

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

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

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

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

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