Como nuevo en Ubuntu, inicié sesión en el servidor remoto de mi institución después de haber generado un par de claves pública y privada. Me configuraron con un nombre de usuario después de enviarle al administrador la clave pública. Debería haber podido iniciar sesión usando ssh myusername@servername
, pero solo puedo iniciar sesión si reemplazo el nombre del servidor con la dirección IP.ssh [email protected]
Ahora, queriendo subir un archivo, intenté:
scp ~/myfile.rds myusername@servername:/home/myusername/
...lo que me envió un Permission denied (publickey). lost connection
mensaje. El administrador sugirió intentarlo nuevamente, reemplazando el nombre del servidor con la dirección IP. Eso tiene sentido, pero sigue siendo la misma respuesta.
Mi archivo de configuración, guardado en \\wsl$\Ubuntu\home\myUbuntuUsername\.ssh
junto con las dos claves, dice:
Host servername
HostName xxx.xx.x.xx
Port 22
User myusername
IdentityFile ~/.ssh/id_ed25519
...¿dónde ~/.ssh/id_ed25519
está el camino a la clave privada? ¿Qué pude haber hecho mal?
Respuesta1
No debería ser necesario especificar el nombre de usuario en sus comandos ssh
y , ya que el valor ya está en su archivo. En su lugar, puedes hacer esto:scp
~/.ssh/config
ssh servername
Porque scp
es lo mismo:
scp myfile.gz servername:/path/to/save
Alternativamente, puede pasar el archivo clave para usarlo con -i
:
scp -i ~/.ssh/id_ed25519 myfile.gz [email protected]:/path/to/save