Cygwin no puede generar keygen ssh

Cygwin no puede generar keygen ssh

Quiero generar ssh-keygen a través de cygwin y hay un problema al ingresar a la ruta (no hace nada).

Aquí simplemente presiono enter y no se hizo nada:

ingrese la descripción de la imagen aquí

Respuesta1

Creo que probablemente no estés ejecutando Cygwin ssh-keygen, ¿qué muestra which ssh-keygen? El software que no es Cygwin ssh-keygenen mi sistema (que se instaló con PuTTY o WinSCP, no recuerdo cuál) tiene el mismo comportamiento, pero se puede hacer que funcione con:

ssh-keygen -t rsa -f /cygwin64/home/me/.ssh/id_rsa -N "passphrase"

Nota:

  1. Inserte su propia frase de contraseña en lugar de passphraseo -N ""para una frase de contraseña vacía
  2. La ruta tiene un formato extraño y tiene su raíz en C:. Tengo cygwin instalado en C:\cygwin64, por lo que las claves se encuentran en mi directorio de inicio de Cygwin ( ~/.ssh) en este ejemplo. Haz .sshprimero.

O simplemente podrías instalar Cygwin ssh-keygen. which ssh-keygenentonces debería regresar /usr/bin/ssh-keygen.

Respuesta2

Utilice barras diagonales para las rutas de cygwin. La barra diagonal inversa es "el carácter de escape" en Linux (y por lo tanto también en cygwin).

$ cygpath --ayuda

cygpathayuda a convertir rutas + nombres de archivos para/desde/hacia cygwin.

Sugerencia: use rutas de Linux en cygwin, use rutas de Windows en Windows.

Ejemplo no probado:
$ cygpath -u "C:\Users\User/.shhs/id_rsa" /cygdrive/c/UsersUser/.shhs/id_rsa


Lo que ha escrito en su ejemplo ( C:\Users\User/.shhs/id_rsa) es al final igual a C:UsersUser/.shhs/id_rsa, que probablemente no sea lo que desea.

El "carácter de escape" elimina el significado especial del carácter que le sigue, normalmente un carácter especial, y deja el carácter literalmente, tal como está, en la entrada (hay más que eso, pero aquí es suficiente).

Ejemplo:

$ eco \$RUTA=$RUTA
$RUTA=...
$

Respuesta3

Considere usarConstrucción de Microsoft de OpenSSH. Justodescargar OpenSSH-Win32.zipo OpenSSH-Win64.zipextraiga el archivo ssh-keygen.exey utilícelo: no necesita instalación ni dependencias (en Cygwin o cualquier otra cosa).

Si tiene Windows 10 versión 1803 o posterior, ya tiene OpenSSH integrado. Para versiones anteriores, también puede instalarlo fácilmente comoCaracterística opcional "Cliente OpenSSH".

Ver tambiénInstale el cliente OpenSSH SFTP en Windows 7.

Respuesta4

Hilo de hierba rodadora, lo sé, pero encontré la solución. El problema es que está intentando utilizar el binario openssh nativo de Windows y las rutas de los directorios chocan.

Ieliminó el cliente de Windows openssh, reinstalé cygwin con los binarios de openssh compilados con cygwin y ahora ssh-keygenfunciona exactamente como debería.

También vale la pena señalar que otras cosas estaban fallando (como rsync) por lo que probablemente sea la misma razón.

información relacionada