Несоответствие версий мне кажется очень подозрительным.
systemctl status
довольно однозначно говорит о том, что вы успешно запустили /usr/sbin/sshd
. Было бы очень странно, если бы система изначально загружалась с бинарным файлом Debian, отличным от -в /usr/sbin/sshd
, но после загрузки правильный бинарный файл Debian был доступен по адресу /usr/sbin/sshd
.
Поскольку вы настаиваете на том, что вы подключаетесь к одному и тому же IP-адресу в обоих случаях :-P, что-то должно перехватывать соединения до того, как они достигнут вашего демона SSH. Я думаю, что, вероятно, это какое-то очень запутанное «управление отключением света» на сервере, перехватывающее ssh-соединение на аппаратном уровне. (Например, неудачные попытки подключения SSH не будут отображаться в /var/log/auth.log
Debian или даже вtcpdump port ssh
).
Предполагая, что вы используете udev, libudev может быть хорошим вариантом. Udev — это подсистема Linux, которая отвечает за автоматическое создание узлов устройств, когда в систему вставляется новое устройство. С помощью udev вы также можете отслеживать новые устройства по мере их подключения к системе и получать всю необходимую информацию. Он предоставляет приятные функции, такие как «udev _device _get _sysattr _value», с помощью которых вы можете запросить любое свойство, которое вы хотите, и легко получить его значение.
Чтобы увидеть, какие свойства доступны через udev, вы можете использовать утилиту udevadm, например:
udevadm info --query=all -n /dev/your_device_node
/proc/{pid}/mounts
показывает устройство. Получите основной и дополнительный идентификатор, затем /sys/dev/block/{major}:{minor}
является символической ссылкой на USB-устройство.