Общая информация
Данная инструкция описывает настройку подключения с клиентского ПК (Клиент) по SHH по токену на первый сервер (Сервер 1) с последующим подключением по SSH по токену ко второму серверу (Сервер 2)
Astra-Astra-Astra С пробросом сокета.
Сценарий подразумевает настройку подключения из Клиента Astra Linux по ssh по токену на Сервер1 Astra Linux с последующим подключение по ssh по токену на Сервер2 ( в этой же сессии). Токен на Сервер1 Сервере 2 работает благодаря пробросу сокета 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.
1. Генерация ключей
...
Настройка подключения
Настройка проходит в несколько этапов: генерация ключей на токене, настройка клиентского ПК, настройка сервера 1, настройка Сервера 2, подключение Клиента к Серверу 1.
Генерация ключей
Обновите установленные пакеты:
sudo apt update
sudo apt dist-upgrade
1.2 Устанавливаем библиотеку librtpkcs11ecp.so
(http://www.rutoken.ru/support/download/pkcs/)
Установите библиотеку rtPKCS11ECP для своего дистрибутива из Центра загрузки Рутокен.
Сгенерируйте ключевую пару на Рутокене
...
:
pkcs11-tool --
...
module
/usr/lib/librtpkcs11ecp
.so --keypairgen --key-
type
rsa:2048 -l --
id
<id>
В значении опции
--id
...
задайте произвольный ID ключа (например, 45).
Сконвертируйте в формат 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.
...
pu
b
2. Настройка *nix-клиента
Настройка Клиента
...
- Установите
openssh-client
:
...
sudo
apt-
...
get
install
openssh-client
2.2 Устанавливаем библиотеку librtpkcs11ecp.so
(http://www.rutoken.ru/support/download/pkcs/)
3. Настройка Сервера1
- Установите библиотеку rtPKCS11ECP для своего дистрибутива из Центра загрузки Рутокен.
Настройка Сервера 1
...
- Установите
openssh-server
:sudo
apt-
...
get
install
openssh-server
...
- Перейдите в каталог
~/.ssh
на сервере. - Скопируйте содержимое файла
key.pub
, полученного в шаге 4 раздела Генерация ключей, в файл~/.ssh/authorized_keys
...
- . Если такого файла нет, его нужно
...
- создать
...
- .
- Измените права доступа к файлу:
chmod
0600 ~/.
ssh
/authorized_keys
...
Настройка
...
Настройка Сервера2 проходит аналогично настройке Сервера1.
5. Подключаем Клиент к Серверу1
5.1 Используйте SSH для перенаправления сокета pcscd на Сервер1. Запустите следующую команду:
...
Сервера 2
Для настройки Сервера 2 повторите шаги настройки Сервера 1.
Подключение Клиента к Серверу 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>
— имя пользователя и адрес
...
сервера;
/путь/к/.pcscd.comm
...
- — путь, где будет находиться файл сокета на
...
- Сервере 1.
Пример готовой команды для Сервера 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, который
...
был выбран в предыдущем шаге
...
Info |
---|
Работа с Рутокеном будет доступна только в той сессии и через ту консоль, через которую осуществлялся проброс сокета pcscd. |
...
.
...
Пример готовой команды для Сервера 1 с параметрами, указанными в разделе Параметры окружения: export PCSCLITE_CSOCK_NAME=/home/server1/.pcscd.comm
- Подключитесь по SSH с Сервера1 к Серверу 2 с помощью Рутокена:
ssh -I /usr/lib/librtpkcs11ecp.
...
so user@server_address
...
ssh -I /usr/lib/librtpkcs11ecp.so server2@192.168.5.164
<user>@<server_address>
— имя пользователя и адрес сервера.Info Работа с Рутокеном будет доступна только в той сессии и через ту консоль, через которую осуществлялся проброс сокета pcscd.
Завершение сессии
5.4 После окончания сессии (выход из терминала или exit exit), необходимо удалить файл .pcscd.comm с Промежуточного сервера (Сервер2Сервера 1), и пробрасывать сокет заново. В противном случае, промежуточный сервер (Сервер2Сервер 1) будет говорить, что сервис не запущен (или что нет токена).
...