Se la chiave non si chiama id_rsa, non funziona


14

Ho creato una chiave per connettermi in SSH con una passphrase. Ho chiamato la mia chiave id_rsa_admin. Quando eseguo l'accesso, viene visualizzato il seguente messaggioPermission denied (publickey).

Nei registri, trovo che ssh cerca un file id_rsae quindi non trova il file giusto.

Trovo che se la chiave non è nominata id_rsanon funziona.

Come connettersi in SSH?

~/.ssh/id_rsa_admin

ssh admin@vps718449.ovh.net -p 9215

Risposte:


39

La risposta di Arronical è buona per una connessione una tantum, ma sarebbe dolorosa a lungo termine. Per sshutilizzare sempre questa chiave quando ci si connette a questo server, è possibile aggiungere questo al proprio ~/.ssh/config(o crearlo se non esiste):

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

Quindi puoi connetterti con just ssh admin@vps718449.ovh.net -p 9215. Come bonus aggiuntivo puoi anche configurare la porta:

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

Quindi puoi connetterti con just ssh admin@vps718449.ovh.net. Ancora di più:

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

Allora ssh vpsfunzionerà! Naturalmente vpsè solo un esempio, è possibile utilizzare qualsiasi altro alias desiderato (ad esempio se si dispone di più di un VPS). Consulta man ssh_configper un elenco delle opzioni che puoi impostare lì.


@fkraiem grazie. Come fare con tre chiavi?
Mathieu,

1
@Mathieu Perché tre chiavi? Se è per tre host diversi, basta aggiungere una voce per ciascun host, ciascuno con la chiave appropriata.
fkraiem,

@fkraiem Ho 3 chiavi diverse sullo stesso server ma per 3 utenti
Mathieu

@Mathieu Non posso confermarlo adesso, ma penso che solo l'aggiunta di tre IdentityFilerighe nella Hostsezione dovrebbe funzionare. Inoltre, se metti una Userlinea, quell'utente diventerà quello predefinito quando si connetterà a quell'host, ma puoi comunque sovrascriverlo @.
fkraiem,

@fkraiem Grazie mille. Funziona, ma viene visualizzato il seguente errore "L'agente ha ammesso la mancata firma utilizzando la chiave". Uso "SSH_AUTH_SOCK = 0" per connettermi ma deve essere fatto ad ogni riavvio. C'è qualche altro saluto?
Mathieu,

16

Devi usare l' -iopzione per il tuo comando ssh usando il percorso della tua chiave. Il comando modificato sarà:

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

grazie. Con la tua risposta, viene visualizzato il seguente errore "ssh: Impossibile risolvere il nome host i: Nome o servizio non noto"
Mathieu

5
Mettere -iprima anche il nome host funziona; Penso che @Mathieu abbia semplicemente dimenticato il trattino. : p
fkraiem,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.