Como adicionar um arquivo PEM como chave privada SSH a "hosts conhecidos"

8

Eu tenho o desktop Ubuntu e recebi um arquivo PEM ( mykey.pem) que é a chave privada SSH para um servidor Linux. Estou tentando descobrir onde esse arquivo PEM precisa ser colocado localmente na minha máquina e como ele pode ser configurado / adicionado aos meus "hosts conhecidos SSH".

A pesquisa neste assunto no Google gera muitas respostas / artigos para a criação de chaves SSH, mas não para adicionar uma chave existente a hosts conhecidos. Ideias?

smeeb
fonte
// , Boa pergunta! Isso deve funcionar: $ ssh-keygen -y -f mykey.pem >> ~ / .ssh / allowed_keys Muitos departamentos de TI apenas enviam um arquivo PEM sem nenhum tipo de instruções sobre como usá-lo localmente. Se alguém precisar de mais informações, posso adicionar uma resposta.
Nathan Basanese

Respostas:

5

Eu não sei sobre diferentes tipos de chaves SSH. Mas você colocaria a chave pública no computador de destino, não sua chave privada. Sua chave privada permanece privada.

E a chave pública do computador de origem deve ser colocada no computador de destino em ~/.ssh/authorized_keys Isso pode ser feito manualmente ou através do ssh-keygencomando

Eu sugiro que você use cat na chave pública no computador de origem e cat em allowed_keys no computador de destino e verifique se o código-fonte se parece com o mesmo formato que os de autorizado_keys

O arquivo known_hosts é algo que é anexado automaticamente. Você não precisa editá-lo manualmente. Você pode se conectar mesmo depois de excluir o arquivo known_hosts.

EDITAR-

Incorporar alguns dos comentários na resposta. A chave pública vem da chave privada. Normalmente, a chave privada permanece privada, mas o OP estava recebendo uma chave privada, isso é incomum, mas é uma maneira interessante de fazer isso, porque significa que o computador de destino já pode ter sua chave pública. Para que ele pudesse efetuar login sem ter que adicionar nada às teclas_computadas do computador de destino. O ssh -i sempre pega uma chave privada. Ele precisa apenas fazer ssh -i path/to/privatekeyfile user@dest O OP está usando "openstack", algum serviço em nuvem, e como o site openstack diz docs.openstack.org/user-guide/content/ssh-into-instance.html $ ssh -i MyKey.pem [email protected]Então, seja qual for o nome do arquivo da chave privada é, e onde quer que esteja armazenado, você especifica que ao fazerssh -i

barlop
fonte
Obrigado @barlop (+1) - se você ler a primeira frase da minha pergunta, verá que o arquivo PEM é a chave privada SSH e que estou tentando instalá-lo corretamente no meu computador. Não estou preocupado com o lado do servidor, que já foi resolvido por mim. Então, minha pergunta é: como instalo uma chave privada na minha máquina Ubuntu? Era uma chave que eu não gerava via ssh-keygen; foi-me dada por uma fonte confiável.
smeeb
11
@smeeb Por que alguém está lhe dando sua chave privada? sua chave privada deve ser privada para eles.
barlop
Mais uma vez obrigado @barlop (+1) - Mas não é alguém, é o OpenStack , um IaaS que gera nuvem. É um poderoso projeto de código aberto com milhões de horas de trabalho e apoio corporativo por trás dele. A visão de 30.000 pés aqui é: para criar uma nova "instância de aplicativo" no OpenStack Horizon, você precisa primeiro criar um par de chaves SSH. O OpenStack instala automaticamente a chave pública na nova instância. Você deve fazer o download da chave privada (um arquivo PEM) e instalá-la localmente para que você possa fazer o SSH na instância, se desejar.
smeeb
@smeeb Não sei muito sobre o openstack, mas você pode fazer, por exemplo, ssh -i ~/.ssh/id_rsa [email protected] ou como o site do openstack diz docs.openstack.org/user-guide/content/ssh-into-instance.html$ ssh -i MyKey.pem [email protected] Então, seja qual for o nome da chave privada arquivo é, e onde ele é armazenado, você especificar que ao fazerssh -i
barlop
11
Além disso, como a chave pública vem da chave privada, pode ser que esse comando o faça, pois eles já devem ter a chave pública se estiverem fornecendo uma chave privada. Portanto, você não precisará adicionar a chave pública às chaves autorizadas no computador deles, pois ela já estaria lá.
barlop