Utilice el archivo PPK en Mac Terminal para conectarse a una conexión remota a través de SSH [cerrado]

140

He estado usando Putty en Windows XP y usé el archivo .ppk para conectarme a mis servidores Linux (varios servidores).

En los servidores tengo la siguiente carpeta y archivo ~ / .ssh / Authorized_keys

Ahora quiero usar una Mac para conectarme a través del terminal. He configurado las conexiones remotas a los servidores manualmente y quiero saber cómo puedo configurarlo usando el archivo ppk o la clave pública / privada dentro de él.

Tenga en cuenta: ya estoy usando el inicio de sesión de clave privada / pública de Windows, así que no necesito crear una nueva clave usando keygen, solo quiero saber cómo configurar ahora que ya tengo las claves. (En otras palabras, ya tengo las listas de claves autorizadas en el servidor y la clave pública y privada).

Anand
fuente

Respuestas:

373

Puede sshhacerlo directamente desde la Terminal en Mac, pero necesita usar una .PEMclave en lugar de la putty .PPKclave. Puede usar PuttyGen en Windows para convertir de .PEMa .PPK, aunque no estoy seguro al revés.

También puede convertir la clave usando puttypara Mac a través de porto brew:

sudo port install putty

o

brew install putty

Esto también se instalará puttygen. Para obtener la puttygensalida de un .PEMarchivo:

puttygen privatekey.ppk -O private-openssh -o privatekey.pem

Una vez que tenga la clave, abra una ventana de terminal y:

ssh -i privatekey.pem [email protected]

La clave privada debe tener configuraciones de seguridad estrictas, de lo contrario, SSH se queja. Asegúrese de que solo el usuario pueda leer la clave.

chmod go-rw privatekey.pem
Purpletoucan
fuente
1
puerto sudo ?? eso seguramente no existe ... al menos en Mavericks
Pedro Luz
23
También puede instalar la masilla usando brebaje : brew install putty. Tenga en cuenta que no estamos usando sudoaquí;)
GabLeRoux
2
Respuesta útil !! ¡¡Gracias por eso!! Para aquellos que no tienen puerto instalado, pueden seguir el siguiente enlace para instalar git: codingsteps.com/installing-and-using-putty-on-mac-os-x
Viraj
3
¿Qué significa este error cuando intento ejecutar el comando puttygen? Ingrese la frase de contraseña para cargar la clave: Error de aserción: (random_active), función random_byte, archivo ./../sshrand.c, línea 313. Abort trap: 6
fastasleep
66
Debe instalar la fórmula de preparación de HEAD, por lo que brew uninstallprimero debe usarla brew install putty --HEAD. Esto funcionó para mí.
Dokie
31

Convertir PPK a OpenSSh

OS X: Instale Homebrew, luego ejecute

instalar cerveza masilla

Coloque sus claves en algún directorio, por ejemplo, su carpeta de inicio. Ahora convierta las claves PPK en pares de claves SSH: búsqueda de caché

Para generar la clave privada:

cd ~

puttygen id_dsa.ppk -O private-openssh -o id_dsa

y para generar la clave pública:

puttygen id_dsa.ppk -O public-openssh -o id_dsa.pub

Mueva estas claves a ~ / .ssh y asegúrese de que los permisos estén configurados como privados para su clave privada:

mkdir -p ~/.ssh
mv -i ~/id_dsa* ~/.ssh
chmod 600 ~/.ssh/id_dsa
chmod 666 ~/.ssh/id_dsa.pub

conectarse con el servidor ssh

ssh -i ~/.ssh/id_dsa username@servername

Reenvío de puertos para conectar el servidor remoto mysql

ssh -i ~/.ssh/id_dsa -L 9001:127.0.0.1:3306 username@serverName
rinkesh
fuente
19

Hay una manera de hacerlo sin instalar masilla en su Mac. Puede convertir fácilmente su archivo PPK existente a un archivo PEM usando PuTTYgen en Windows.

Inicie PuTTYgen y luego cargue el archivo de clave privada existente con el botón Cargar. En el menú "Conversiones", seleccione "Exportar clave OpenSSH" y guarde el archivo de clave privada con la extensión de archivo .pem.

Copie el archivo PEM en su Mac y configúrelo como de solo lectura para su usuario:

chmod 400 <private-key-filename>.pem

Entonces debería poder usar ssh para conectarse a su servidor remoto

ssh -i <private-key-filename>.pem username@hostname
dasfrosty
fuente
9
There is a way to do this without installing putty on your Mac. You can easily convert your existing PPK file to a PEM file using PuTTYgen on Windows.Entonces, ¿la mejor manera de hacerlo en Mac es hacerlo en Windows?
Roee Gavirel el
66
En realidad, @sigi, mi respuesta realmente fue útil. El objetivo principal de la pregunta, según tengo entendido, es conectarse desde una Mac a un servidor Linux utilizando un archivo .ppk existente desde una máquina Windows. Dada la pregunta, el autor de la pregunta tiene acceso a una máquina con Windows y luego convertir el archivo .ppk a un archivo .pem antes de copiarlo en la Mac es una solución tan válida como copiarlo primero a la Mac y convertirlo allí. Sugerí este enfoque porque algunas personas pueden preferir no instalar software adicional en su Mac que de otro modo no necesitarían.
dasfrosty
3
Esta respuesta es muy útil, exactamente por la razón defendida: es más probable que alguien que viene de Windows a Mac con un archivo ppk existente quiera exportar desde Windows en lugar de instalar PuTTY en la Mac sin ningún propósito en particular. Esto es exactamente lo que elegí hacer.
trevorsky