Проверка ключа хоста не удалась, хотя known_hosts указан правильно

Проверка ключа хоста не удалась, хотя known_hosts указан правильно

Я использую сервер Debian 7 Wheezy и у меня возникли проблемы с подключением к другим серверам по SSH. Эта проблема возникает только при запуске SSH через crontab, и никак иначе (конечно, при входе в систему под тем же пользователем).

При запуске команды ssh от имени этого пользователя через crontab возникает следующая проблема:

Host key verification failed.

Я удалил ~/.ssh/known_hostsфайл и вручную подключился к серверу, чтобы ключ хоста был правильным.

При запуске SSH с этим -vфлагом я получаю следующее:

debug1: read_passphrase: can't open /dev/tty: No such device or address
Host key verification failed.

Если я укажу, /dev/ttyчто у него 666 разрешений:

crw-rw-rw- 1 root root 5, 0 Jun 21 15:49 /dev/tty

Я также вручную установил разрешения на 666 после того, как внес изменения, /dev/ttyчтобы быть полностью уверенным.

Почему SSH говорит, что не может прочитать / dev/tty? Я изучаю это уже несколько недель и не нашел ответа. Есть у кого-нибудь подсказка?

решение1

Вы не можете подключиться с помощью защищенного ключом парольной фразы из скрипта без агента (или, по крайней мере, способа предоставления парольной фразы), демон ssh ждет входных данных, которые вы не можете предоставить без tty.

видеть:https://unix.stackexchange.com/questions/90853/how-can-i-run-ssh-add-automatically-without-password-prompt

решение2

SSH говорит, что не может прочитать, /dev/ttyпотому что вы вызвали его не из консоли, а из crontab. Устройство /dev/ttyявляется терминалом контроллера для текущего процесса, и когда вы запускаете процесс из crontab, у него нет связанного терминала, поэтому он не может получить доступ к этому устройству.

Вот лучшее объяснение:https://stackoverflow.com/questions/8514735/что-такое-особенное-о-dev-tty

Связанный контент