Genero un par de claves ssh en mi mac y agrego la clave pública a mi servidor ubuntu (de hecho, es una máquina virtual en mi mac), pero cuando intento iniciar sesión en el servidor ubuntu, dice:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0644 for '/Users/tudouya/.ssh/vm/vm_id_rsa.pub' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
bad permissions: ignore key: /Users/tudouya/.ssh/vm/vm_id_rsa.pub
Permission denied (publickey,password).
He intentado muchas formas de resolver esto, cambiar el modo de archivo de clave, cambiar el modo de carpeta, como algunos responden en stackoverflow, pero no funciona.
el permiso de archivo de clave:
vm dir:
drwxr-xr-x 4 tudouya staff 136 4 29 10:37 vm
key file:
-rw------- 1 tudouya staff 1679 4 29 10:30 vm_id_rsa
-rw-r--r-- 1 tudouya staff 391 4 29 10:30 vm_id_rsa.pub
por favor dame una idea ... =========================================
I escriba la información del host en ssh_config:
Host ubuntuvm
Hostname 10.211.55.17
PreferredAuthentications publickey
IdentityFile /Users/tudouya/.ssh/vm/vm_id_rsa.pub
Ejecuto el comando "ssh -v ubuntuvm", muestra:
ssh -v ubuntuvm
OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011
debug1: Reading configuration data /etc/ssh_config
debug1: /etc/ssh_config line 20: Applying options for *
debug1: /etc/ssh_config line 103: Applying options for *
debug1: /etc/ssh_config line 175: Applying options for ubuntuvm
debug1: Connecting to 10.211.55.17 [10.211.55.17] port 22.
debug1: Connection established.
debug1: identity file /Users/tudouya/.ssh/vm/vm_id_rsa.pub type 1
debug1: identity file /Users/tudouya/.ssh/vm/vm_id_rsa.pub-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.2
debug1: Remote protocol version 2.0, remote software version OpenSSH_6.6.1p1 Ubuntu-8
debug1: match: OpenSSH_6.6.1p1 Ubuntu-8 pat OpenSSH*
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr [email protected] none
debug1: kex: client->server aes128-ctr [email protected] none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug1: Server host key: RSA 55:6d:4f:0f:23:51:ac:8e:70:01:ec:0e:62:9e:1c:10
debug1: Host '10.211.55.17' is known and matches the RSA host key.
debug1: Found key in /Users/tudouya/.ssh/known_hosts:54
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,password
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /Users/tudouya/.ssh/vm/vm_id_rsa.pub
debug1: Server accepts key: pkalg ssh-rsa blen 279
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0644 for '/Users/tudouya/.ssh/vm/vm_id_rsa.pub' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
bad permissions: ignore key: /Users/tudouya/.ssh/vm/vm_id_rsa.pub
debug1: No more authentication methods to try.
Permission denied (publickey,password).
ssh
permissions
key
土豆 丫
fuente
fuente
-i id_rsa.pub
el comando ssh para la conexión. Parece que exigir el uso de alguna clave pública en la fuerza del comando ssh para solicitar una contraseña (incluso cuando la frase de contraseña estaba vacía, al menos en mi caso)Respuestas:
Parece que estás intentando usar el archivo de clave incorrecto. El archivo con la extensión ".pub" es el archivo de clave pública . El archivo correspondiente sin la extensión ".pub" es el archivo de clave privada . Cuando ejecuta un cliente ssh para conectarse a un servidor remoto, debe proporcionar el archivo de clave privada al cliente ssh.
Probablemente tenga una línea en su
.ssh/config
archivo (o/etc/ssh_config
) que se vea así:Debe eliminar la extensión ".pub" del nombre del archivo:
fuente
.pub
archivo public ( ) en lugar del archivo privado.ssh -i id_ed25519.pub
mientras hacíassh -i id_ed25519
trabajosTe sugiero que hagas:
Para mí el trabajo está bien.
fuente
“Permissions 0644 for 'id_rsa.pub' are too open."
y la clave fue por lo tanto ignorada. Esto probablemente se debió a que copié el archivo de clave, desde mi otra PC. Pero la fijación de permisos solucionó el problema. ¡Gracias!La clave debe ser legible por el usuario conectado.
Prueba esto:
fuente
ssh-add ~/.ssh/id_rsa.pub
Este trabajo para mi. Cuando hice este archivo, puedo conectarme a mi instancia EC2
fuente
Después de ejecutar el siguiente comando, me funciona
fuente
En mi caso, era un archivo .pem. Resulta que también vale para eso. Cambió los permisos del archivo y funcionó.
chmod 400 ~/.ssh/dev-shared.pem
Gracias por todos los que ayudaron arriba.
fuente
Si las claves están en el directorio ~ / .ssh, use
chmod 400 ~ / .ssh / id_rsa
Si las claves están en un directorio diferente, use
chmod 400 ruta_directorio / id_rsa
Esto funcionó para mí.
fuente
chmod 400 ~/.ssh/id_rsa
esto es lo que quisiste decir @Anirban. Como se indicó anteriormente: El archivo con la extensión ".pub" es el archivo de clave pública. El archivo correspondiente sin la extensión ".pub" es el archivo de clave privada. Necesitamos proteger uno privado.Muchas respuestas similares pero sin explicaciones ...
El error se produce porque los permisos del archivo de clave privada son demasiado abiertos. Es un riesgo de seguridad.
Cambie los permisos en el archivo de clave privada para que sean mínimos (solo lectura del propietario)
chown <unix-name> <private-key-file>
chmod 400 <private-key-file>
fuente
En cuanto a mí, el modo predeterminado de
id_rsa
es600
, que significareadable
ywritable
.Después de insertar este archivo en un repositorio git y extraerlo de otra PC, a veces el modo del archivo de clave privada se convierte
-rw-r--r--
.Cuando extraigo el repositorio con ssh después de especificar el archivo de clave privada, falló y provocó las mismas advertencias. El siguiente es mi guión.
Arreglo este problema simplemente cambiando el modo a
600
.fuente
dar el permiso 400 hace que la clave sea privada y no sea accesible por alguien desconocido. Hace que la clave sea protegida.
fuente
Las claves SSH están destinadas a ser privadas, por lo que un
644
permiso es demasiado abierto.Al cambiar el permiso del archivo para
600
usarresuelve el problema Como hace que la clave solo sea accesible para el usuario.
Ref: https://www.linux.com/training-tutorials/understanding-linux-file-permissions/
fuente
chmod 400 /etc/ssh/*
funciona para mi.fuente
Si está utilizando un archivo .ssh / config intente
luego:
fuente
Aquellos que sugirieron chmod 400 id_rsa.pub no sonaron bien en absoluto. Era bastante posible que op usara la clave de pub en lugar de la clave privada para ssh.
Entonces podría ser tan simple como
ssh -i /Users/tudouya/.ssh/vm/vm_id_rsa (the private key) user@host
solucionarlo.--- actualización ---
Consulte este artículo https://www.digitalocean.com/community/tutorials/how-to-set-up-ssh-keys--2 para saber cómo configurar la clave ssh
fuente
Solo corre abajo a tu pem's
fuente
Quité el
.pub file
, y funcionó.fuente
ssh-keygen -i -f /path/to/private.key > /desired/path/to/public.key
. Entonces, no está realmente perdido. :)