Параметры стенда
IP сервера: 10.0.2.15
Имя удаленного пользователя: user
Первичная настройка U2F
Удостовериться, в работоспособности U2F через демо-портал.
Если токен не подает признаков жизни, то попробуйте, согласно инструкции, подключен к компьютеру, но светодиод не начинает мерцать и отсутствует реакция на нажатие кнопки, то надо согласно инструкции записать в файл /lib/udev/rules.d/70-u2f.rules следующее:
Code Block | ||
---|---|---|
| ||
# Rutoken KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="0a89", ATTRS{idProduct}=="0090", TAG+="uaccess" |
Перзапустите браузер, извлеките и вставьте токен заново. И еще раз проверьте работоспособность через через демо-портал. Если аутентификация опять не прошла, то попробуйте перезапустить систему.
Установка OpenSSH
Нам необходим OpenSSH версии 8.2 и выше, причем как на сервере так и на клиенте. Для начала попробуйте установить нужную версию OpenSSH из репозиториев. Это можно сделать с помощью команд:
...
Для пользователей Red Hat также необходимо поставить установить пакет libfido2, который можно взять взять тут.
Скачаем последнюю версию OpenSSH из репозитория:
Code Block | ||
---|---|---|
| ||
git clone https://github.com/openssh/openssh-portable cd openssh-portable git checkout V_8_2_P1 |
Для необходимо применить применить патч, который решает проблему с запуском ssh через systemctl
...
После того как сборка прошла успешно, в первую очередь выставим аутентификацию с использованием публичных ключей. Для этого в файле /etc/ssh/sshd_config раскомментируем строку
Code Block | |
---|---|
/etc/ssh/sshd_config | PubkeyAuthentication yes |
Перезапускаем демона ssh и убедимся, что он запустился без ошибок
...
В Red Hat возможна проблема связанная с неизвестной опцией GSSAPIKexAlgorithms передаваемой в качетсве аргумента sshd. Для того чтобы это исправить, нужно в файле /etc/crypto-policies/back-ends/opensshserver.config удалить данный аргумент и его параметры. Также в этом же файле нужно в опции PubkeyAcceptedKeyTypes нужно дописать skдописать sk-ecdsa-sha2-nistp256@openssh.com,sk-ssh-ed25519@openssh.com для прддержки поддержки аутентификации через U2FТакже если в найстройках .
На клиенте
Создадим ключ на клиенте, требующий аутентификацию через U2F:
...
В процессе выполнения данной команды, токен был потребовать нажатие пользователя. Данный ключ запишется в файл внутри ФС, указанный вами, по умолчанию это $HOME/.ssh/id_rsa.pub Сгенерированный ключ копируем в файл ~/.ssh/authorized_keys лежащий на сервере
Попробуем осуществить аутентификацию (во время выполнения данной команды, должно быть взаимодействие с U2F):
Code Block | ||
---|---|---|
| ||
lo1ol@lo1ol-VirtualBox:~/.ssh$ ssh user@10.0.2.15
The authenticity of host '10.0.2.15 (10.0.2.15)' can't be established.
ECDSA key fingerprint is SHA256:pQ4vwrTm8OwwI7uhzfbbmrvHTM5d1bvMI0j49Xr6McQ.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '10.0.2.15' (ECDSA) to the list of known hosts.
Last login: Thu Feb 27 00:08:43 2020 from 127.0.0.1
|
...