Não foi possível carregar a chave do host: / etc / ssh_host _ * _ key

3

Ao fazer essa verificação:

$ /usr/sbin/sshd -t

Como chegar:

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

Mas ao fazer a mesma verificação com sudo , tudo é bom:

$ sudo /usr/sbin/sshd -t
$

Alguém sabe por que isso acontece, o que há de errado com meu usuário padrão e como corrigi-lo?

    
por Drew 21.02.2015 / 08:25

2 respostas

2

Does anyone know why does this happen, what’s wrong with my standard user and how to fix it?

Não há nada errado; você está tentando executar sshd (daemon SSH) como um usuário não privilegiado.

Por exemplo, estou no Mac OS X 10.9.5 (Mavericks) e obtenho exatamente o mesmo "erro" ao executar /usr/sbin/sshd -t :

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

O que é esperado, pois sshd é o daemon SSH - observe o d após ssh - que seria executado como um servidor SSH no sistema escutando e aguardando o SSH remoto solicitações de login. Por isso, sempre precisa de permissões root / sudo para funcionar.

Portanto, isso não é um "erro", mas um comportamento esperado ao tentar executar um daemon do sistema como sshd como um usuário não privilegiado.

Talvez você esteja tentando executar ssh -t ? Como a página man da opção ssh -t explica:

Force pseudo-tty allocation. This can be used to execute arbitrary screen-based programs on a remote machine, which can be very useful, e.g. when implementing menu services. Multiple -t options force tty allocation, even if ssh has no local tty.

O que basicamente permite que você execute um comando remotamente a partir do seu terminal atual e tenha a saída exibida localmente como se fosse executada em sua máquina local. Então - como esta página explica - se você queria executar ls em uma máquina remota sem realmente logando você pode executar este comando:

ssh -t [username]@[hostname] ls

A saída de ls seria exibida na sua tela e a ssh conexão seria encerrada imediatamente após o término do comando.

    
por 21.02.2015 / 23:40
0

Você pode criar as chaves ausentes executando:

/usr/bin/ssh-keygen -A

Veja também: link

    
por 31.05.2018 / 16:02

Tags