Он просто делает следующее:
> ssh -v [ubuntu_comp_hostname] .local
=>
OpenSSH_8.2p1, LibreSSL 3.0.2
debug1: Reading configuration data /home/o1/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Authenticator provider $SSH_SK_PROVIDER did not resolve; disabling
ssh: Could not resolve hostname [ubuntu_comp_hostname].local: Name or service not known
(Например, это даже не началось после перезагрузки или разбудить один из компьютеров от сна или что-то в этом роде.Он работал, я встал на несколько минут, чтобы выпить чаю, вернулся, а он внезапно перестал работать.)
Я все еще могу использовать ssh, используя IP компьютера ubuntu
(
т.е. вместо [ubuntu_comp_hostname ] .local
)
- это IP-адрес, который я получаю, выполнив эту команду:
ifconfig | sed -En 's / 127.0.0.1 //; s /.* inet (адрес:)? (([0-9] * \.) {3} [0-9] *). * / \ 2 / p '
(Я скопировал его откуда-то, что забыл, и какое-то время он висел под псевдонимом)
)
Я все еще могу подключиться по ssh к другому компьютер из компьютера ubuntu, используя имя хоста другого компьютера.
И меня очень сбивает с толку,
Я запускаю синергетический клиент на компьютере ubuntu,
, и клиент и сервер соединяются, используя имена хостов двух компьютеров. ,
и , что по-прежнему работает нормально
(я просто отключил и перезапустил синергию на обоих компьютерах, чтобы проверить, и да, он снова подключился нормально. )
Понятия не имею: с чего начать отладку?
Я только что попробовал ps -eo cmd | grep avahi
и обнаружил (помимо avahi-daemon: chroot helper
)
this:
avahi-daemon: running [ubuntu_comp_hostname-2.local]
.
(т. Е. В конце имени хоста без видимой причины есть лишнее -2
).
((Попытка подключиться к ssh ubuntu_comp_hostname-2.local
работает .))
Я совершенно не разбираюсь во всем этом, но я ' я догадываюсь, что ...
avahi сломался или перезапустился, или что-то в этом роде?
А затем он попытался запустить как обычный [ubuntu_comp_hostname.local]
,
, но он все еще висел в несуществующем состояние или что-то в этом роде,
, чтобы он автоматически добавил -2
в конец фактического имени хоста?
И да, sudo service avahi-daemon restart
сработало
- то есть больше нет -2
,
и все снова подключается через hostname.local, как и ожидалось
{{1 }} (хотя я удалил файл ~ / .ssh / config
, добавив его в качестве обходного пути, как рекомендовано (раньше такого файла не было))
Мне все еще интересно, что вызвало проблема в первую очередь,
и как предотвратить ее повторение
(или, по крайней мере, заставить ее автоматически исправить себя?)
EDIT
Что касается того, почему имя сервера неправильно разрешено в IP, я не знаю, это требует диагностики. Пожалуйста, выполните следующие действия:
/etc/hosts
, /etc/resolv.conf
/etc/nsswitch.conf
. ${HOME}/.ssh/config
. Попробуйте удалить (для вопросов конфиденциальности) как можно меньше. config
и попробуйте ssh
-ing. Опубликуйте результат. .local
, используя как IP, так и имя сервера. Сообщите результат. имя_хоста_оф_ubuntu_comp
. Опубликуйте результат. ssh -vvv ...
. Отправить результат. netstat -plunt | grep 22
на сервер. systemctl status ssh
на сервер. Связанный:
Вы говорите, что можете ssh войти на сервер, используя IP. Допустим, команда, которую вы используете для подключения, это
$ ssh user_at_server@10.20.10.10
Тогда убедитесь в ${HOME}/. ssh/config
в вашем клиенте есть следующие строки (последние две удобны, но необязательны)
Host server_user
HostName 10.20.10.10
User user_at_server
ServerAliveInterval 30
ForwardX11 yes
Затем убедитесь, что назначены правильные атрибуты:
$ chmod 0664 ${HOME}/.ssh/config
$ chmod 0700 ${HOME}/.ssh
- теперь вы можете
$ ssh server_user