Стенд
- Клиент с macOS, с предустановленными
openssh
(https://www.macupdate.com/app/mac/5675/openssh) иopensc
(https://github.com/OpenSC/OpenSC/wiki); - настроенный сервер OpenSSH (см. Настройка доступа к удаленному серверу (OpenSSH));
- Рутокен ЭЦП, отформатированный через Панель управления Рутокен.
Общий порядок действий
Подключаем Рутокен. Генерируем ключевую пару:
# pkcs11-tool --module '/Library/Aktiv Co/Rutoken ECP/lib/librtpkcs11ecp.dylib' --keypairgen --key-type rsa:2048 -l --id 45
Если на токене уже есть ключевая пара, то нам нужно узнать id ключа. Сделать это можно командой
# pkcs11-tool --module '/Library/Aktiv Co/Rutoken ECP/lib/librtpkcs11ecp.dylib' -l -O
С помощью утилиты ssh-keygen конвертируем открытый ключ с токена в формат ssh:
# ssh-keygen -D '/Library/Aktiv Co/Rutoken ECP/lib/librtpkcs11ecp.dylib' -I <слот>:<id>
- Полученное выражение копируем на сервер в файл
~/.ssh/authorized_keys
(если такого файла нет, нужно его создать). Подключаемся к серверу:
# ssh -I '/Library/Aktiv Co/Rutoken ECP/lib/librtpkcs11ecp.dylib' <username>@<server>