Page tree

Versions Compared

Key

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

...

Данная инструкция описывает настройку подключения с клиентского ПК (Клиент) по SHH по токену на промежуточный сервер к промежуточному серверу (Сервер 1)   с последующим подключением по SSH по токену к конечному серверу (Сервер 2) в этой же сессии. Токен на Сервере 2 1 работает благодаря пробросу сокета pcscd с Клиента на Сервер 1.

Ниже приведен пример настройки такого подключения между клиентом Astra Linux и двумя серверами Astra Linux. 

Параметры окружения
Image Removed

Клиент: 

  • ОС — Astra Linux 1.7.5 Воронеж;
  • пользователь — client;
  • IP — 192.168.5.150.

Сервер 1 (промежуточный)

  • ОС — Astra Linux 1.7.5 Воронеж;
  • пользователь — server1;
  • IP — 192.168.5.155.

Сервер 2 (конечный):

  • ОС — Astra Linux 1.7.5 Воронеж; 
  • пользователь — server2;
  • IP — 192.168.5.164.

...

  1. Обновите установленные пакеты:

    sudo apt update
    sudo apt dist-upgrade

  2. Установите библиотеку rtPKCS11ECP для своего дистрибутива из Центра загрузки Рутокен.

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

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

    В значении опции --id задайте произвольный ID ключа (например, 45).

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

    ssh-keygen -D /usr/lib/librtpkcs11ecp.so -I <slot>:<id> >> key.pub

    • <slot> — слот, к которому подключен токен;

    • <id> — ID ключа, который был задан в предыдущем шаге.

      Пример команды для токена, подключенного к слоту 0, и ключа с ID 45:

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

...

  1. Установите openssh-server:

    sudo apt-get install openssh-server

  2. Перейдите в каталог ~/.ssh на сервере.
  3. Скопируйте содержимое файла key.pub, полученного в шаге 4 раздела Генерация этапа Генерация ключей, в файл ~/.ssh/authorized_keys. Если такого файла нет, его нужно создать.
  4. Измените права доступа к файлу:

    chmod 0600 ~/.ssh/authorized_keys

...

  1.  C помощью SSH перенаправьте сокет pcscd на Сервер 1:
    ssh -R /путь/к/.pcscd.comm:/var/run/pcscd/pcscd.comm -I /usr/lib/librtpkcs11ecp.so <user>@<server_address>
    • <user>@<server_address> — имя пользователя и адрес Сервера 1;

    • /путь/к/.pcscd.comm  — путь, где будет находиться файл сокета на Сервере 1.

      Пример готовой команды для Сервера 1 с параметрами, указанными в разделе Параметры окружения:
      ssh -R /home/server1/.pcscd.comm:/var/run/pcscd/pcscd.comm -I /usr/lib/librtpkcs11ecp.so server1@192.168.5.155


  2. Настройте переменную окружения PCSCLITE_CSOCK_NAME, чтобы указать программе, какой сокет использовать для взаимодействия с pcscd:
    export PCSCLITE_CSOCK_NAME=/путь/к/.pcscd.comm
    • /путь/к/.pcscd.comm — путь к файлу .pcscd.comm, который был выбран в предыдущем шаге.

      Пример готовой команды для Сервера 1 с параметрами, указанными в разделе Параметры окружения:

      export PCSCLITE_CSOCK_NAME=/home/server1/.pcscd.comm

...

 ssh -I /usr/lib/librtpkcs11ecp.so user@server_addressso <user>@<server_address>

  • <user>@<server_address> — имя пользователя и адрес Сервера 2.

    Пример готовой команды для Сервера 2 с параметрами, указанными в разделе Параметры окружения:

     ssh -I /usr/lib/librtpkcs11ecp.so server2@192.168.5.164

...

Чтобы завершить сеанс SSH, закройте терминал или выполните команду exit.

Notewarning

После завершения работы нужно удалить файл .pcscd.comm с Сервера 1, а при необходимости повторить подключение — перенаправить сокет заново.

При Иначе при попытке создания новой сессии со старым файлом .pcscd.comm Сервер 1 отобразит ошибку о том, что сервис не запущен или нет токена. 

...