Данная инструкция описывает настройку подключения с клиентского ПК (Клиент) по SHH по токену на первый сервер (Сервер 1) с последующим подключением по SSH по токену ко второму серверу (Сервер 2) в этой же сессии. Токен на Сервере 2 работает благодаря пробросу сокета pcscd
с Клиента на Сервер 1.
Ниже приведен пример настройки такого подключения между клиентом Astra Linux и двумя серверами Astra Linux.
Клиент:
Сервер 1:
Сервер 2:
Настройка проходит в несколько этапов: генерация ключей на токене, настройка клиентского ПК, настройка сервера 1, настройка Сервера 2, подключение Клиента к Серверу 1.
Обновите установленные пакеты:
|
Установите библиотеку rtPKCS11ECP для своего дистрибутива из Центра загрузки Рутокен.
Сгенерируйте ключевую пару на Рутокене:
|
В значении опции --id
задайте произвольный ID ключа (например, 45).
Сконвертируйте в формат SSH открытый ключ на Рутокене:
|
<slot>
— слот, к которому подключен токен;
<id>
— ID ключа, который был задан в предыдущем шаге.
Пример команды для токена, подключенного к слоту 0, и ключа с ID 45: |
---|
ssh -keygen -D /usr/lib/librtpkcs11ecp .so -I 0:45 >> key.pu b |
openssh-client
:
|
openssh-server
:
|
~/.ssh
на сервере.key.pub
, полученного в шаге 4 раздела Генерация ключей, в файл ~/.ssh/authorized_keys
. Если такого файла нет, его нужно создать.
|
Для настройки Сервера 2 повторите шаги настройки Сервера 1.
ssh -R /путь/к/.pcscd.comm:/var/run/pcscd/pcscd.comm -I /usr/lib/librtpkcs11ecp.so <user>@<server_address> |
<user>@<server_address>
— имя пользователя и адрес сервера;
/путь/к/.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 |
PCSCLITE_CSOCK_NAME
, чтобы указать программе, какой сокет использовать для взаимодействия с pcscd:export PCSCLITE_CSOCK_NAME=/путь/к/.pcscd.comm |
/путь/к/.pcscd.comm
— путь к файлу .pcscd.comm, который был выбран в предыдущем шаге.
Пример готовой команды для Сервера 1 с параметрами, указанными в разделе Параметры окружения: |
---|
export PCSCLITE_CSOCK_NAME=/home/server1/.pcscd.comm |
|
<user>@<server_address>
— имя пользователя и адрес сервера.Работа с Рутокеном будет доступна только в той сессии и через ту консоль, через которую осуществлялся проброс сокета pcscd. |
После окончания сессии (выход из терминала или exit exit), необходимо удалить файл .pcscd.comm с Промежуточного сервера (Сервера 1), и пробрасывать сокет заново. В противном случае, промежуточный сервер (Сервер 1) будет говорить, что сервис не запущен (или что нет токена).