Page tree

Versions Compared

Key

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

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

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

Окружение:

...

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


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/)

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

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

sudo apt-get install openssh-server

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

chmod 0600 ~/.ssh/authorized_keys

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

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

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

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

 ssh -R /home/username/.pcscd.comm:/var/run/pcscd/pcscd.comm -I /usr/lib/librtpkcs11ecp.so user@server_address

Здесь user@server_address замените на имя пользователя и адрес вашего сервера, а username – на имя пользователя на сервере.
Вместо /home/username/.pcscd.comm, укажите путь, где будет находиться файл сокета на Сервер1.

Пример готовой команды:

 ssh -R /home/administrator/.pcscd.comm:/var/run/pcscd/pcscd.comm -I /usr/lib/librtpkcs11ecp.so server1@192.168.5.155


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

 export PCSCLITE_CSOCK_NAME=$HOME/.pcscd.comm

Где $HOME/.pcscd.comm - это путь к файлу .pcscd.comm, который вы указывали в шаге 5.1

...


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

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


Пример готовой команды:

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


5.4 После окончания сессии (выход из терминала или exit exit), необходимо удалить файл .pcscd.comm с Промежуточного сервера (Сервер2), и пробрасывать сокет заново. В противном случае, промежуточный сервер (Сервер2) будет говорить, что сервис не запущен (или что нет токена).

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

Для данного сценария используется Windows 10 в качестве клиента.
Подключение к Серверу1 происходит через RDP без ввода PIN-кода.

Окружение:

...

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




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

Info

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


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. Настройка Сервера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.7 Установлен флажок Смарт-карты
4.8 Нажмите на кнопку [OK].




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

Сценарий 3 подразумевает настройку подключения из Клиента Astra Linux по ssh по токену на Сервер1 Astra Linux с последующим подключение по ssh по токену на Сервер2 (в этой же сессии). Прокидывать токен планируется по usbIP.

Окружение:
Клиент - Astra Linux 1.7.5 Воронеж; пользователь - client; IP - 192.168.5.150

...

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

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/*


2.4 Установка usbIP

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


2.5 Запуск модулей usbIP

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


2.6 Запуск процесса как службы

sudo usbipd -D


2.7 Проверка подключенных к локальной машине устройств (с подключенным Рутокеном)

usbip list -l


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


2.8 Далее привязать устройство к службе usbipd, после чего оно станет доступно извне:

 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

3.4 Проверить видимость устройств, подключенных к серверу, можно выполнив на клиентском компьютере команду:

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


Exportable USB devices
======================
 - 192.168.5.150
               3-1: Aktiv : Rutoken ECP (0a89:0030)
                                  : /sys/devices/pci0000:00/0000:00:05.1/usb3/3-1
                                  : (Defined at Interface level) (00/00/00)


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

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


Info

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

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

    для единственного устройства это будет порт 00.


  2. Отключить устройство (используется номер порта 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

...