your warning unprotected too that others open not for files aws are windows permissions ssh ssh-keys

warning - Windows CHMOD 600



putty scp (11)

Para Unix y OSX

Muy simple:

chown -R $USER:users ~/.ssh/ chmod -R 600 ~/.ssh/

Para ventanas

Si el archivo es un enlace simbólico de Windows (NTFS), lo anterior no funcionará. Debe convertirlo en un archivo normal. No estoy seguro por qué.

Si no tiene openssh o cygwin, use chocolatey para instalarlo fácilmente con chocolatey .

choco install cyg-get

Abre el Cygwin Terminal que se instaló con chocolate y se ejecuta (ten en cuenta que ssh-keygen crea nuevas claves):

cyg-get install openssh ssh-keygen cd ~/.ssh && explorer.exe .

Verifique que las claves estén allí (o reemplácelas con las claves que desee), y luego en Cygwin shell:

chown -R $USER:users ~/.ssh/ chmod -R 600 ~/.ssh/

O para el raro caso de que esté usando (y haya generado las claves) el paquete SSH de chocolatey :

chown -R $USER:users /cygdrive/c/Users/$USER/.ssh chmod -R 600 /cygdrive/c/Users/$USER/.ssh

Estoy intentando conectarme a Amazon EC2 usando OpenSSH en Windows, pero necesito establecer los permisos de mi archivo de clave.

¿Cuál es el equivalente de Windows CHMOD 600 ?

Busqué mucho en Google y solo encontré blogspam.

EDITAR: Windows 7, usando DOS.


Copie el archivo al sistema Unix a través de scp y haga chmod 600 al archivo. Luego transfiera el archivo a la máquina de Windows. Funcionó para mí


Haga clic derecho en el archivo / directorio, seleccione Propiedades y luego Seguridad. Haz clic en Avanzado, luego en Editar. Desmarque "Heredable" y elija "Eliminar" en el cuadro de diálogo. Elimine los permisos explícitos que quedan, agregue un permiso de "Acceso total" a su nombre de usuario.


Hoy, una de las formas recomendadas en Windows sería utilizar PowerShell y los Get-Acl y Set-Acl .

A continuación, se incluye un ejemplo para garantizar que solo el usuario actual tenga permiso para una carpeta y todos los archivos, similar a lo que se recomienda para la carpeta .ssh en Unix / Linux / OS X:

# get current ACL of directory $Acl = Get-Acl -Path $Directory # remove inheritance ($true) and remove all existing rules ($false) $Acl.SetAccessRuleProtection($true,$false) # create new access rule for # current user # with FullControl permission # enable inheritance for folders and files # enable it for the specified folder as well # allow these conditions $AcessRule = [System.Security.AccessControl.FileSystemAccessRule]::new( $env:USERNAME, "FullControl", ([System.Security.AccessControl.InheritanceFlags]::ContainerInherit -bor [System.Security.AccessControl.InheritanceFlags]::ObjectInherit), System.Security.AccessControl.PropagationFlags]::None, [System.Security.AccessControl.AccessControlType]::Allow) # add access rule to empty ACL $Acl.AddAccessRule($AcessRule) # activate ACL on folder Set-Acl -Path $SgwConfigDirectory -AclRule

Para más detalles ver


Me doy cuenta de que esto es algo antiguo, pero acabo de encontrar la solución para mí en Windows 7. Y parece que esta pregunta no se resolvió. Tenía todos los mismos errores, incluido Cygwin missing cygintl-2.dll en chmod como Cygwin missing cygintl-2.dll en los comentarios.

Después de una extensa investigación y de no encontrar ninguna respuesta, ejecuté:

C:/Users/mztriz/.ssh>ssh -v

OpenSSH_3.8.1p1, OpenSSL 0.9.7d 17 mar 2004 uso: ssh [-1246AaffkknqsTtVvXxY] [-b bind_address] [-c cipher_spec] [-D port] [-e escape_char] [-F configfile] [-i identity_file] [ -L puerto: host: hostport] [-l nombre de usuario] [-m mac_spec] [-o opción] [-p puerto] [-R puerto: host: hostport] [usuario @] nombre de host [comando]

Como puede ver, la versión de OpenSSH que estaba ejecutando estaba bastante desactualizada. Sin embargo, no lo sabía porque una búsqueda rápida en Google de OpenSSH for Windows devuelve esta versión anterior.

Después de investigar el control de versiones, encontré OpenSSH para Windows 6.9p1-1 en la sección de descargas de ese sitio web.

Esta versión más nueva de OpenSSH parece solucionar todos los problemas que menciona.


Me encontré con el mismo problema en Windows 10. Lo arreglé agregando mi usuario y otorgando los permisos Modificar, Leer y ejecutar, Leer y escribir. Eliminé a todos los demás usuarios. Esto es lo que parece después de eliminar todos los demás permisos:


Modificar los permisos para que:

  • El archivo de clave no hereda del contenedor
  • Usted (el propietario) tiene acceso completo
  • Eliminar entradas de permiso para otros usuarios (por ejemplo, SISTEMA, Administrador)
  • Agregue una Entrada para todos los usuarios especiales y edite los permisos para ese usuario a Denegar para todos los permisos:
    • Haga clic con el botón derecho en el archivo en el Explorador de Windows y elija Propiedades> Seguridad> Avanzado, para obtener el cuadro de diálogo Configuración de seguridad avanzada.
    • Haga clic en la pestaña Permisos, luego haga clic en Cambiar permisos.
    • Haga clic en Agregar, ingrese Todos en el campo de nombre del objeto, haga clic en Comprobar nombres, luego haga clic en Aceptar.
    • En el cuadro de diálogo Entrada de permiso, haga clic en la casilla de verificación en la columna Denegar para Control total.
    • Haga clic en Aceptar en cada diálogo para retroceder y cerrar el cuadro de diálogo de propiedades del archivo.

Ahora scp leerá los permisos 0400 y estará contento. Ish.


Prefiero Cygwin con masilla y puedes ejecutar el comando chmod en cygwin para cambiar el permiso de la clave PEM a 400, entonces ya estás listo para empezar.

myuser@myuser-HP ~ $ ssh -i /cygdrive/c/Users/myuser/Downloads/mykey.pem [email protected] @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: UNPROTECTED PRIVATE KEY FILE! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Permissions 0550 for ''/cygdrive/c/Users/myuser/Downloads/mykey.pem'' are too open. It is required that your private key files are NOT accessible by others. This private key will be ignored. Load key "/cygdrive/c/Users/myuser/Downloads/mykey.pem": bad permissions Permission denied (publickey). myuser@myuser-HP ~ $ chmod chmod: missing operand Try ''chmod --help'' for more information. myuser@myuser-HP ~ $ chmod 400 /cygdrive/c/Users/myuser/Downloads/mykey.pem myuser@myuser-HP ~ $ ssh -i /cygdrive/c/Users/myuser/Downloads/meykey.pem [email protected] __| __|_ ) _| ( / Amazon Linux AMI ___|/___|___| https://aws.amazon.com/amazon-linux-ami/2015.09-release-notes/ [ec2-user@ip-xxx ~]$ ohyeah I am in!



Tengo el mismo problema. La solución, que funcionó fue establecer el modo de compatibilidad de ssh.exe para Windows XP SP3.


Tengo el mismo problema. La solución, que funcionó fue establecer el modo de compatibilidad de ssh.exe para Windows XP SP3.

-> Esta respuesta funciona para Windows 7