Known_hosts가 올바른데도 호스트 키 확인에 실패했습니다.

Known_hosts가 올바른데도 호스트 키 확인에 실패했습니다.

Debian 7 Wheezy 서버를 실행 중이고 SSH를 통해 다른 서버에 연결하는 데 문제가 있습니다. 이 문제는 crontab을 통해 SSH를 실행하는 동안에만 발생하며 그렇지 않은 경우에는 발생하지 않습니다(물론 동일한 사용자로 로그인한 경우).

crontab을 통해 이 사용자로 ssh 명령을 실행하는 동안 다음 문제가 발생합니다.

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/tty666개의 권한이 있습니다.

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

/dev/tty또한 완전히 확인하기 위해 목록을 작성한 후 수동으로 권한을 666으로 설정했습니다 .

SSH에서 /를 읽을 수 없다고 말하는 이유는 무엇입니까 dev/tty? 나는 이것을 몇 주 동안 조사해 왔지만 답을 찾지 못했습니다. 누구든지 단서가 있습니까?

답변1

에이전트 없이(또는 적어도 암호를 제공하는 방법) 스크립트에서 암호로 보호된 키로 연결할 수 없습니다. ssh 데몬은 tty 없이는 제공할 수 없는 입력을 기다리고 있습니다.

보다:https://unix.stackexchange.com/questions/90853/how-can-i-run-ssh-add-automatically-without-password-prompt

답변2

/dev/ttySSH는 콘솔이 아닌 crontab에서 호출했기 때문에 읽을 수 없다고 말합니다 . 장치 /dev/tty는 현재 프로세스에 대한 컨트롤러 터미널이며 crontab에서 프로세스를 시작할 때 연결된 터미널이 없으므로 해당 장치에 액세스할 수 없습니다.

여기에 더 나은 설명이 있습니다.https://stackoverflow.com/questions/8514735/what-is-special-about-dev-tty

관련 정보