2

Когда я вхожу из termserv на любые другие серверы, ssh просит меня проверить отпечаток хоста. Затем он предупреждает меня о том, что добавил и продолжает. Если я немедленно выйду из системы и снова войду в систему, это произойдет снова. Я попытался очистить файл known_hosts, проверил разрешения и попытался снова. Файл known_hosts остался пустым. Существует заметная пауза между отчетом о добавлении отпечатка пальца к известным хостам и запросом моей ключевой фразы-пароля.

me@termserv:$ ssh me@10.0.X.X
The authenticity of host '10.0.X.X (10.0.X.X)' can't be established.
ECDSA key fingerprint is d4:a2:cf:42:0b:01:xx:e5:xx:7a:xx:93:xx:53:xx:b4.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '10.0.X.X' (ECDSA) to the list of known hosts.
Enter passphrase for key '/home/me/.ssh/id_rsa':
Welcome to Ubuntu 12.04.2 LTS (GNU/Linux 3.2.0-23-generic x86_64)
...
me@10.0.X.X:$

Я проверил проблемы с местом на диске. На моем основном разделе (нет специального / домашнего) у меня есть только 3% использования. Мой системный журнал не показывает ничего связанного. Если я запускаю ssh с -vvv, я не получаю никакой дополнительной информации между ним, спрашивающим, хочу ли я подключиться, и предупреждающим меня о том, что он постоянно добавлен к известным хостам (что мы определили как ложь).

Я попробовал поискать некоторые из этих фраз в репозитории OpenSSH webCVS, но не нашел их через сайт Google: поиск.

Права доступа к каталогу .ssh - это me:me drwx------

Права доступа .ssh/known_hosts были у me:me -rw-r--r-- и -rw-------

Вот часть того, что происходит. Я только включил часть между мной, говоря «да», чтобы добавить это, и он сказал, что добавил это.

strace -o sshtrace ssh localhost
write(4, "The authenticity of host 'localh"..., 200) = 200
read(4, "y", 1)                         = 1
read(4, "e", 1)                         = 1
read(4, "s", 1)                         = 1
read(4, "\n", 1)                        = 1
rt_sigaction(SIGALRM, {SIG_DFL, [], SA_RESTORER, 0x7fc73374d4a0}, NULL, 8) = 0
rt_sigaction(SIGHUP, {SIG_DFL, [], SA_RESTORER, 0x7fc73374d4a0}, NULL, 8) = 0
rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x7fc73374d4a0}, NULL, 8) = 0
rt_sigaction(SIGQUIT, {SIG_DFL, [], SA_RESTORER, 0x7fc73374d4a0}, NULL, 8) = 0
rt_sigaction(SIGPIPE, {SIG_IGN, [], SA_RESTORER, 0x7fc73374d4a0}, NULL, 8) = 0
rt_sigaction(SIGTERM, {SIG_DFL, [], SA_RESTORER, 0x7fc73374d4a0}, NULL, 8) = 0
rt_sigaction(SIGTSTP, {SIG_DFL, [], SA_RESTORER, 0x7fc73374d4a0}, NULL, 8) = 0
rt_sigaction(SIGTTIN, {SIG_DFL, [], SA_RESTORER, 0x7fc73374d4a0}, NULL, 8) = 0
rt_sigaction(SIGTTOU, {SIG_DFL, [], SA_RESTORER, 0x7fc73374d4a0}, NULL, 8) = 0
close(4)                                = 0
open("/dev/null", O_WRONLY|O_CREAT|O_APPEND, 0666) = 4
fstat(4, {st_mode=S_IFCHR|0666, st_rdev=makedev(1, 3), ...}) = 0
ioctl(4, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7ffff63c12c8) = -1 ENOTTY (Inappropriate ioctl for device)
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fc734b64000
fstat(4, {st_mode=S_IFCHR|0666, st_rdev=makedev(1, 3), ...}) = 0
lseek(4, 0, SEEK_END)                   = 0
write(4, "|1|qcJVRUE6IlxxxxxBvjBgHiiov4/8=|"..., 222) = 222
close(4)                                = 0
munmap(0x7fc734b64000, 4096)            = 0
write(2, "Warning: Permanently added 'loca"..., 76) = 76`

1 ответ1

3

Клиент SSH считает, что путь к вашему файлу known_hosts - /dev/null:

open("/dev/null", O_WRONLY|O_CREAT|O_APPEND, 0666) = 4
[...]
write(4, "|1|qcJVRUE6IlxxxxxBvjBgHiiov4/8=|"..., 222) = 222

Проверьте ~/.ssh/config и, возможно, /etc/ssh/ssh_config или эквивалентный; кажется вероятным, что один или другой содержат что-то поддельное.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .