Adicionando uma chave pública ao arquivo known_hosts

11

Fiz o download da chave pública ECDSA ( ssh_host_ecdsa_key.pub) de outra máquina. Quero adicionar a chave ao meu known_hostsarquivo local antes de conectar-me a ele via SSH. Como posso fazer isso manualmente (sem comparar os hashes MD5 na tela)?

Estou executando o Ubuntu 15.04 na minha máquina local.

PhilippVerpoort
fonte

Respostas:

10

A página de manual para sshd(8)descreve o formato do known_hostsarquivo:

Cada linha desses arquivos contém os seguintes campos: marcadores (opcional), nomes de host, bits, expoente, módulo e comentário. Os campos são separados por espaços.

Se a sua chave pública para o seu host estiver assim:

ssh-rsa AAAA1234.....=

Então, basta colocar esta linha no seu ~/.ssh/known_hostsarquivo:

your.host.name,0.0.0.0 ssh-rsa AAAA1234.....=

onde você trocará o nome do host e o ip pelo seu host.

Agora isso depende se você tiver a sshopção HashKnownHostsativada. Caso contrário, você está pronto. Caso contrário (por exemplo, nas versões atuais do Ubuntu), você precisará fazer o hash deste arquivo usando ssh-keygen -H -f ~/.ssh/known_hosts.

Jakuje
fonte
Qual é o significado do sinal de igual no final de ssh-rsa AAAA1234.....=? Eu abri minha chave pública e não termina com um sinal de igual, ao invés O formato é semelhante: ssh-rsa AAAA1234.... user@hostname. Como eu inseri isso no meu known_hostsarquivo?
veículo com rodas
1
@ wheeler Insira-o nos hosts conhecidos como estão. O sinal de igual é apenas um preenchimento da codificação base64.
Jakuje