Page tree

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

Astra-Astra-Astra С пробросом сокета.

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

Окружение:

Клиент - 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. Генерация ключей

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

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


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) будет говорить, что сервис не запущен (или что нет токена).

  • No labels