Creé una clave para conectarme en SSH con una frase de contraseña. He nombrado mi clave id_rsa_admin. Cuando inicio sesión, aparece el siguiente mensajePermission denied (publickey).
En los registros, encuentro que ssh busca un archivo id_rsay, por lo tanto, no encuentra el archivo correcto.
Me parece que si la clave no tiene nombre id_rsa, no funciona.
La respuesta de Arronical es buena para una conexión única, pero sería dolorosa a largo plazo. Para que sshsiempre use esta clave cuando se conecte a este servidor, puede agregarla a su ~/.ssh/config(o crearla si no existe):
Host vps718449.ovh.net vps
Hostname vps718449.ovh.net
User admin
IdentityFile ~/.ssh/id_rsa_admin
Port 9215
¡Entonces simplemente ssh vpsfuncionará! Por supuesto, vpses solo un ejemplo, puede usar cualquier otro alias que desee (por ejemplo, si tiene más de un VPS). Consulte man ssh_configpara obtener una lista de las opciones que puede configurar allí.
@Mathieu ¿Por qué tres llaves? Si es para tres hosts diferentes, simplemente agregue una entrada para cada host, cada uno con la clave correspondiente.
fkraiem
@fkraiem Tengo 3 claves diferentes en el mismo servidor pero para 3 usuarios
Mathieu
@ Mathieu No puedo confirmar esto en este momento, pero creo que solo agregar tres IdentityFilelíneas en la Hostsección debería funcionar. Además, si coloca una Userlínea, ese usuario se convertirá en el predeterminado cuando se conecte a ese host, pero aún puede anularlo con @.
fkraiem
@fkraiem Muchas gracias. Funciona, pero se muestra el siguiente error: "El agente admitió un error al firmar con la clave". Utilizo "SSH_AUTH_SOCK = 0" para conectarme, pero debe hacerse en cada reinicio. ¿Hay algún otro saludo?
Mathieu
16
Debe usar la -iopción para su comando ssh usando la ruta a su clave. El comando modificado será:
IdentityFile
líneas en laHost
sección debería funcionar. Además, si coloca unaUser
línea, ese usuario se convertirá en el predeterminado cuando se conecte a ese host, pero aún puede anularlo con@
.Debe usar la
-i
opción para su comando ssh usando la ruta a su clave. El comando modificado será:fuente
-i
antes del nombre de host también funciona; Creo que @Mathieu simplemente olvidó el guión. : p