호스트 키를로드 할 수 없습니다 : / etc / ssh_host _ * _ key /etc/ssh_host_rsa_key Could not load host key: /etc/ssh_host_dsa_key 그러나

이 점검을 수행 할 때 :

$ /usr/sbin/sshd -t

점점 :

Could not load host key: /etc/ssh_host_rsa_key
Could not load host key: /etc/ssh_host_dsa_key

그러나 sudo모두 동일한 검사를 수행하는 것이 좋습니다.

$ sudo /usr/sbin/sshd -t
$

왜 이런 일이 발생하는지, 표준 사용자의 문제와 해결 방법을 알고 있습니까?



답변

왜 이런 일이 발생하는지, 표준 사용자의 문제와 해결 방법을 알고 있습니까?

아무 문제가 없다; sshd권한이없는 사용자로 (SSH 데몬) 을 실행하려고합니다 .

예를 들어, 나는 Mac OS X 10.9.5 (Mavericks)를 사용하고 있으며 실행할 때 동일한 “오류”를 얻습니다 /usr/sbin/sshd -t.

Could not load host key: /etc/ssh_host_rsa_key
Could not load host key: /etc/ssh_host_dsa_key

어느 이후 예상 할 수 sshdSSH를이다 데몬 – 주 dssh– 그건 시스템의 청취에 SSH 서버로 실행하고 원격 SSH 로그인 요청을 기다리는 것은. 따라서 항상sudo 작동 하려면 루트 / 권한이 필요합니다 .

따라서 이것은 “오류”가 아니라 sshd권한이없는 사용자 와 같은 시스템 데몬을 실행하려고 할 때 예상되는 동작 입니다.

아마도 당신은 실행하려고 ssh -t합니까? ssh -t옵션에 대한 매뉴얼 페이지에서 설명 하는 것처럼 :

의사 -tty 할당을 강제합니다. 이는 원격 컴퓨터에서 임의의 화면 기반 프로그램을 실행하는 데 사용할 수 있으며, 예를 들어 메뉴 서비스를 구현할 때 매우 유용합니다. ssh에 로컬 tty가 없더라도 다중 -t 옵션은 tty 할당을 강제합니다.

기본적으로 현재 터미널에서 원격으로 명령을 실행하고 로컬 컴퓨터에서 실행되는 것처럼 출력을 로컬로 표시 할 수 있습니다. 그래서 – 이 페이지로는 설명 실행할 원 – 경우 ls실제로 완전히이 명령을 실행할 수 있습니다 당신이 로그인하지 않고 원격 시스템에 :

ssh -t [username]@[hostname] ls

ls화면에 출력 이 나타나고 ssh명령이 완료된 직후 연결이 닫힙니다.