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á.
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):
Então você pode se conectar com apenas ssh [email protected] -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 [email protected]. 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á.
@ 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á:
IdentityFile
linhas naHost
seção deve funcionar. Além disso, se você colocar umaUser
linha, esse usuário se tornará o padrão ao conectar-se a esse host, mas você ainda poderá substituí-lo@
.Você precisa usar a
-i
opção para seu comando ssh usando o caminho para sua chave. O comando modificado será:fonte
-i
antes do nome do host também funciona; Acho que @Mathieu simplesmente esqueceu o hífen. : p