Page tree

Versions Compared

Key

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

Общая информация

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

Сценарий 1: Astra-Astra-Astra С пробросом сокета.

Сценарий 1 подразумевает настройку подключения из Клиента Astra Linux по ssh по токену на Сервер1 Astra Linux с последующим подключение по ssh по токену на Сервер2 ( в этой же сессии). Токен на Сервер1 Сервере 1 работает благодаря пробросу сокета pcscd с Клиента на Сервер1.
Окружение:Клиент - Сервер 1.

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

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

Клиент: 

  • ОС — 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.

Image Removed

1. Генерация ключей

...

Настройка подключения

Настройка проходит в несколько этапов: генерация ключей на токене, настройка клиентского ПК, настройка Сервера 1, настройка Сервера 2, перенаправление сокета pcscd на Сервер 1, подключение к Серверу 2.

Генерация ключей

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

    sudo apt update
    sudo apt dist-upgrade

1.2 Устанавливаем библиотеку librtpkcs11ecp.so (http://www.rutoken.ru/support/download/pkcs/)

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

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

...

  1. :

    pkcs11-tool --

...

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

...

  1. <id>

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

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

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

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

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

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

...

    • :

      ssh-keygen -

...

    • /usr/lib/librtpkcs11ecp.so -I 0:45 >> key.

...

    • pub

2. Настройка *nix-клиента 

Настройка Клиента

...

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

...

  1. sudo apt-

...

  1. get install openssh-client

2.2 Устанавливаем библиотеку librtpkcs11ecp.so (http://www.rutoken.ru/support/download/pkcs/)

3. Настройка Сервера1

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

Настройка Сервера 1

...

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

    sudo apt-

...

  1. get install openssh-server

...

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

...

  1. . Если такого файла нет, его нужно

...

  1. создать

...

  1. .
  2. Измените права доступа к файлу:

    chmod 0600 ~/.ssh/authorized_keys

...

Настройка

...

Настройка Сервера2 проходит аналогично настройке Сервера1.

5. Подключаем Клиент к Серверу1

5.1 Используйте SSH для перенаправления сокета pcscd на Сервер1. Запустите следующую команду:

...

Сервера 2

Для настройки Сервера 2 повторите шаги настройки Сервера 1.

Перенаправление сокета pcscd на Сервер 1

  1.  C помощью SSH перенаправьте сокет pcscd на Сервер 1:
    ssh -R /

...

  1. путь/

...

  1. к/.pcscd.comm:/var/run/pcscd/pcscd.comm -I /usr/lib/librtpkcs11ecp.so

...

  1. <user>@<server_

...

  1. 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

...


  1. Настройте

...

  1. переменную окружения PCSCLITE_CSOCK_NAME, чтобы указать программе, какой сокет использовать для взаимодействия с pcscd

...

  1. :

...

  1. export PCSCLITE_CSOCK_NAME=

...

  1. /путь/к/.pcscd.comm

...

    • /путь/к/.pcscd.comm

...

    • путь к файлу .pcscd.comm, который

...

    • был выбран в предыдущем шаге

...

    • .

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

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

Подключение к Серверу 2

Info

Работа с Рутокеном будет доступна только в той сессии и через ту консоль, через которую осуществлялся проброс сокета pcscd в предыдущем этапе.

...

Подключитесь по SSH с Сервера 1 к Серверу 2 с помощью Рутокена

...

:

 ssh -I /usr/lib/librtpkcs11ecp.

so user@server_address

so <user>@<server_address>

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

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

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

...

Завершение работы

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

...

Warning

После завершения работы нужно удалить файл 

.pcscd.comm с

...

Сервера 1, а при необходимости повторить подключение — перенаправить сокет заново.

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

...

или

...

нет токена

...

Сценарий 2: Windows 10-Astra-Astra

...

Клиент - Windows 10, пользователь - client

Сервер1 - Astra Linux 1.7.5 Воронеж, пользователь - server1

Сервер2 - Astra Linux 1.7.5 Воронеж, пользователь - server2

...

1. Генерация ключей

Info

Генерацию ключа выполняется на Linux-машине (Astra Linux)

...

sudo apt update
sudo apt dist-upgrade

1.2 Устанавливаем библиотеку librtpkcs11ecp.so (http://www.rutoken.ru/support/download/pkcs/)

1.3 Генерируем ключевую пару на Рутокен:

...

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

1.4 Конвертируем в формат ssh открытый ключ на Рутокен:

...

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

2. Настройка Сервера1

2.1 Устанавливаем openssh-server:

...

sudo apt-get install openssh-server linux-tools-`uname -r`

2.2 Копируем на сервер содержимое полученного на шаге 1.4 файла key.pub в файл ~/.ssh/authorized_keys (если такого файла нет, нужно его создать). Для файла с приватными ключами измените права доступа с помощью команды:

...

chmod 0600 ~/.ssh/authorized_keys

3. Настройка Сервера2

Настройка Сервера2 проходит аналогично настройке Сервера1.

4. Настройка Windows-клиента 

4.1 Скачать и установить драйверы Рутокен: https://www.rutoken.ru/support/download/windows/

Для настройки соединения с Сервером терминалов:

4.2 Откройте приложение Подключение к удаленному рабочему столу.

...

4.3 Введите имя или IP-адрес сервера терминалов. 

4.4 Нажмите на кнопку [Показать параметры].

...

4.6 В секции Локальные устройства и ресурсы нажмите на кнопку [Подробнее...]

...

4.7 Установлен флажок Смарт-карты
4.8 Нажмите на кнопку [OK].

...

Сценарий 3: Astra-Astra-Astra UsbIP

...

Сервер1 - Astra Linux 1.7.5 Воронеж; пользователь - server1; IP - 192.168.5.155

...

Image Removed

1. Генерация ключей

1.1 Обновляем пакеты и устанавливаем необходимые для работы с Рутокен пакеты:

...

sudo apt update
sudo apt dist-upgrade

1.2 Устанавливаем библиотеку librtpkcs11ecp.so (http://www.rutoken.ru/support/download/pkcs/)

1.3 Генерируем ключевую пару на Рутокен:

...

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

1.4 Конвертируем в формат ssh открытый ключ на Рутокен:

...

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

2. Настройка *nix-клиента 

2.1 Устанавливаем openssh-client:

...

$ sudo apt-get install openssh-client

2.2 Устанавливаем библиотеку librtpkcs11ecp.so (http://www.rutoken.ru/support/download/pkcs/)

2.3 Вызываем

...

ssh-agent -P /opt/aktivco/rutokenecp/amd64/*

...

sudo apt install linux-tools-`uname -r`

...

sudo modprobe usbip-core
sudo modprobe usbip-host
sudo modprobe vhci-hcd

...

sudo usbipd -D

...

usbip list -l

busid 2-2.2 (0a89:0030)
Aktiv : Rutoken ECP (0a89:0030)

...

 sudo usbip bind -b <bus ID устройства>

3. Настройка Сервера1

3.1 Устанавливаем openssh-server:

...

sudo apt-get install openssh-server linux-tools-`uname -r`

3.2 Копируем на сервер содержимое полученного на шаге 1.4 файла key.pub в файл ~/.ssh/authorized_keys (если такого файла нет, нужно его создать). Для файла с приватными ключами измените права доступа с помощью команды:

...

chmod 0600 ~/.ssh/authorized_keys

3.3 Загрузить необходимые модули ядра:

...

sudo modprobe usbip-core
sudo modprobe vhci-hcd

...

.

...

sudo usbip list -r IP-адрес-сервера

...

 

...

3.5 Подключить USB-устройство:

...

sudo usbip attach -r <client ip> -b <bus ID>

...

Для отключения устройства:

Проверить, к какому порту присоединено устройство:
sudo usbip port

...

Отключить устройство (используется номер порта 00, обычный для единственного устройства):
sudo usbip detach -p 00

4. Настройка Сервера2

Настройка Сервера2 проходит аналогично настройке Сервера1.

5. Подключаем Клиент к Серверу1

5.1 Подключиться по ssh с Клиента на Сервер1 с помощью Рутокена.

...

 ssh -I /usr/lib/librtpkcs11ecp.so <username>@<server>

...

 ssh -I /usr/lib/librtpkcs11ecp.so server1@192.168.5.155

5.2 Далее необходимо подключиться по ssh с Сервер1 на Сервер2 с помощью Рутокена.

...

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

...

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

Info

Дополнительную информацию по настройке usbIP, можно прочитать в мануале Astra Linux:
https://wiki.astralinux.ru/pages/viewpage.action?pageId=79168306