Se a chave não for nomeada id_rsa, ela não funcionará


14

Eu criei uma chave para conectar no SSH com uma senha. Eu nomeei minha chave id_rsa_admin. Quando eu entro, a seguinte mensagem é exibidaPermission denied (publickey).

Nos logs, acho que o ssh procura um arquivo id_rsae, portanto, não encontra o arquivo correto.

Acho que, se a chave não for nomeada, id_rsaela não funcionará.

Como se conectar no ssh?

~/.ssh/id_rsa_admin

ssh admin@vps718449.ovh.net -p 9215

Respostas:


39

A resposta da Arronical é boa para uma conexão única, mas seria dolorosa a longo prazo. Para sshsempre usar essa chave ao se conectar a este servidor, você pode adicioná-lo ao seu ~/.ssh/config(ou criá-lo se ele não existir):

Host vps718449.ovh.net
    IdentityFile ~/.ssh/id_rsa_admin

Então você pode se conectar com apenas ssh admin@vps718449.ovh.net -p 9215. Como um bônus adicional, você também pode configurar a porta:

Host vps718449.ovh.net
    IdentityFile ~/.ssh/id_rsa_admin
    Port 9215

Então você pode se conectar com apenas ssh admin@vps718449.ovh.net. Ainda mais:

Host vps718449.ovh.net vps
     Hostname vps718449.ovh.net
     User admin
     IdentityFile ~/.ssh/id_rsa_admin
     Port 9215

Então só ssh vpsvai funcionar! Claro que vpsé apenas um exemplo, você pode usar qualquer outro alias que desejar (por exemplo, se você tiver mais de um VPS). Veja man ssh_configuma lista das opções que você pode definir lá.


@fkraiem obrigado. Como fazer com três chaves?
Mathieu

1
@ Matieu Por que três chaves? Se for para três hosts diferentes, basta adicionar uma entrada para cada host, cada um com a chave apropriada.
fkraiem

@fkraiem Eu tenho 3 chaves diferentes no mesmo servidor, mas para 3 usuários #
Mathieu

@ Matthewieu Não posso confirmar isso agora, mas acho que apenas adicionar três IdentityFilelinhas na Hostseção deve funcionar. Além disso, se você colocar uma Userlinha, esse usuário se tornará o padrão ao conectar-se a esse host, mas você ainda poderá substituí-lo @.
fkraiem

@fkraiem Muito obrigado. Funciona, mas o seguinte erro é exibido "Agente admitiu falha ao assinar usando a chave". Eu uso "SSH_AUTH_SOCK = 0" para conectar, mas isso deve ser feito a cada reinicialização. Existe alguma outra saudação?
Mathieu

16

Você precisa usar a -iopção para seu comando ssh usando o caminho para sua chave. O comando modificado será:

ssh -i ~/.ssh/id_rsa_admin admin@vps718449.ovh.net -p 9215

obrigado. Com sua resposta, o seguinte erro é exibido "ssh: Não foi possível resolver o nome do host i: Nome ou serviço desconhecido"
Mathieu

5
Colocar -iantes do nome do host também funciona; Acho que @Mathieu simplesmente esqueceu o hífen. : p
fkraiem
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.