
Ситуация:
Для аутентификации по открытому ключу я использую Keepass2 с плагином KeeAgent. Все правильно настроено в Keepass2/KeeAgent, пара ключей сгенерирована, а открытый ключ скопирован на сервер. Keepass2 запущен, и в него загружен закрытый ключ.
Таким образом, если я захожу на удаленный сервер, мне будет предложено ввести пароль.
Основы:
ОПЕРАЦИОННЫЕ СИСТЕМЫ:
lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 22.04.1 LTS
Release: 22.04
Codename: jammy
ssh-пакеты:
sudo apt list | grep ssh
WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
...
openssh-client-ssh1/jammy 1:7.5p1-13 amd64
openssh-client/jammy,now 1:8.9p1-3 amd64 [installiert]
openssh-known-hosts/jammy,jammy 0.6.2-1.1 all
openssh-server/jammy,now 1:8.9p1-3 amd64 [installiert]
openssh-sftp-server/jammy,now 1:8.9p1-3 amd64 [Installiert,automatisch]
openssh-tests/jammy 1:8.9p1-3 amd64
...
Менеджер окон:
я используюlxde
Проблема:
Это работало, пока я не обновился с focal (20.04 LTS) до jammy (22.04 LTS)
обновление 10 ноября
Новая установка jammy с *.iso-образом от сегодняшнего дня (10 ноября 2022 г.) показывает ту же проблему.
Анализ результатов:
Основная причина — отсутствие набора переменных среды SSH_AUTH_SOCK.
(см.https://github.com/dlech/KeeAgent/issues/372)
Переменная окружения должна быть видима для всей системы.
Чтобы установить ее, например, в среде bash, она становится видимой только в этом сеансе.
Использование Ubuntu (стандартной) в качестве оконного менеджера SSH_AUTH_SOCK устанавливается, как что-то с gpg и keyring, но не так, как /tmp/ssh-XXXXXXXX
В фокусе я увидел следующее (после запуска и входа в оконный менеджер):
env | grep SSH
SSH_AUTH_SOCK=/tmp/ssh-0mFzle55uRgI/agent.1862
SSH_AGENT_PID=1990
и
ps ax | grep ssh
1990 ? Ss 0:00 /usr/bin/ssh-agent /usr/bin/im-launch /usr/bin/startlxde
2038 ? Ss 0:00 /usr/bin/ssh-agent -s
В джеме я вижу:
env | grep SSH
<nothing>
и
ps ax | grep ssh
1006 ? Ss 0:00 sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups
8557 ? Ss 0:00 /usr/bin/ssh-agent -s
Решение?:
Я думаю, что что-то изменилось при запуске системы, особенно при запуске lxde.