Crea una clave ssh:
$ ssh-keygen -t rsa –P ""
Mover la clave a la clave autorizada:
$ cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys
bash: /home/user/.ssh/authorized_keys: No such file or directory
bash
shell
ssh
io-redirection
sknit
fuente
fuente
Respuestas:
Un elemento del camino
/home/user/.ssh/
no existe; el shell (bash
) verifica la redirección (>>
) antes de ejecutar el comando (cat
). Si/home/user
existe e intentas esto:Ahora obtendrás:
Dado que ese archivo no puede estar en ese lugar, si
/home/user/.ssh/
no existiera para empezar.Estás siguiendo algunas instrucciones que posiblemente hayan omitido algunos bits. Para crear el directorio:
Sin embargo,
id_rsa.pub
no estará allí. Enssh-keygen
primer lugar , será donde ejecutaste el comando.fuente
Asegúrese de haber iniciado sesión como el usuario para el que desea crear la clave ssh primero (o esté preparado para modificar las rutas en el comando al directorio de inicio correcto).
Luego solo crea el directorio:
Cree el archivo con el
cat
comando que ha enumerado anteriormente. Entonces no olvide establecer los permisos correctamente:Es posible que desee asegurarse de que el directorio .ssh también tenga los permisos adecuados.
fuente
chmod 700 ~/.ssh
Si es posible, siempre animo a las personas a usar la herramienta de línea de comandos
ssh-copy-id
.Si solo desea copiar su clave pública SSH predeterminada en un servidor remoto, simplemente ejecute el siguiente comando:
Muestro un ejemplo completo real de cómo usar esta herramienta en este Q&A titulado: No se puede compartir una conexión ssh con rsync .
fuente
Esto también puede fallar si, al crear la clave con
ssh-keygen
, le da un nombre de archivo. Ingresé un nombremy-ssh-file-name
y escribió la clave en/Users/MyUserName
lugar de la.ssh
carpeta. Si deja el nombre del archivo en blanco, se escribirá.ssh
como se esperaba.fuente
-f ~/.ssh/custom-key-name