Utilizzare il file PPK nel Terminale Mac per connettersi alla connessione remota tramite SSH [chiuso]


140

Ho usato Putty su Windows XP e ho usato il file .ppk per connettermi ai miei server Linux (diversi server).

Sui server ho la seguente cartella e file ~ / .ssh / authorized_keys

Ora voglio usare un Mac per connettermi tramite il terminale. Ho impostato manualmente le connessioni remote ai server e voglio sapere come posso configurare usando il file ppk o la chiave privata / pubblica al suo interno.

Nota: sto già utilizzando il login chiave privata / pubblica da Windows, quindi non ho bisogno di creare una nuova chiave usando keygen, voglio solo sapere come impostare ora che ho già le chiavi. (In altre parole, ho già gli elenchi di chiavi autorizzati sul server e la chiave pubblica e privata).

Risposte:


374

È possibile sshdirettamente dal Terminale su Mac, ma è necessario utilizzare una .PEMchiave anziché la putty .PPKchiave. Puoi usare PuttyGen su Windows per convertire da .PEMa .PPK, non sono sicuro del contrario.

Puoi anche convertire la chiave utilizzando puttyper Mac tramite porto brew:

sudo port install putty

o

brew install putty

Questo installerà anche puttygen. Per ottenere puttygenl'output di un .PEMfile:

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

Una volta che hai la chiave, apri una finestra del terminale e:

ssh -i privatekey.pem user@my.server.com

La chiave privata deve avere impostazioni di sicurezza rigide altrimenti SSH si lamenta. Assicurarsi che solo l'utente possa leggere la chiave.

chmod go-rw privatekey.pem

1
sudo port ?? che sicuramente non esiste ... almeno in Mavericks
Pedro Luz,

23
È anche possibile installare il mastice con birra : brew install putty. Nota che non stiamo usando sudoqui;)
GabLeRoux

2
Risposta utile !! Grazie per quello !! Per coloro che non hanno la porta installata, possono seguire il seguente link per installare git: codingsteps.com/installing-and-using-putty-on-mac-os-x
Viraj

3
Cosa significa questo errore quando provo a eseguire il comando puttygen? Immettere la passphrase per caricare la chiave: Asserzione non riuscita: (random_active), funzione random_byte, file ./../sshrand.c, riga 313. Interruzione trap: 6
fastasleep

6
È necessario installare la formula di infusione da HEAD, quindi per favore brew uninstallprima quindi utilizzare brew install putty --HEAD. Questo ha funzionato per me.
Dokie,

31

Converti PPK in OpenSSh

OS X: installa Homebrew, quindi esegui

brew install putty

Inserire le chiavi in ​​una directory, ad esempio la cartella principale. Ora converti le chiavi PPK in coppie di chiavi SSH: ricerca nella cache

Per generare la chiave privata:

cd ~

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

e per generare la chiave pubblica:

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

Sposta queste chiavi in ​​~ / .ssh e assicurati che le autorizzazioni siano impostate su private per la tua chiave privata:

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

connettersi con il server SSH

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

Port Forwarding per connettere il server remoto mysql

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

19

C'è un modo per farlo senza installare stucco sul tuo Mac. Puoi facilmente convertire il tuo file PPK esistente in un file PEM usando PuTTYgen su Windows.

Avviare PuTTYgen e quindi caricare il file della chiave privata esistente utilizzando il pulsante Carica. Dal menu "Conversioni" selezionare "Esporta chiave OpenSSH" e salvare il file della chiave privata con l'estensione .pem.

Copia il file PEM sul tuo Mac e impostalo in modo che sia di sola lettura per il tuo utente:

chmod 400 <private-key-filename>.pem

Quindi dovresti essere in grado di usare ssh per connetterti al tuo server remoto

ssh -i <private-key-filename>.pem username@hostname

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.Quindi il modo migliore per farlo su Mac è farlo su Windows ?!
Roee Gavirel,

6
In realtà @sigi la mia risposta è stata davvero intesa per essere utile. L'obiettivo principale della domanda, come ho capito, è connettersi da un Mac a un server Linux utilizzando un file .ppk esistente da un computer Windows. Data la domanda chi ha accesso a un computer Windows, convertire un file .ppk in un file .pem prima di copiarlo sul Mac è una soluzione valida tanto quanto copiarlo sul Mac e convertirlo lì. Ho suggerito questo approccio perché alcune persone potrebbero preferire non installare software aggiuntivo sul proprio Mac che altrimenti non avrebbero bisogno.
dasfrosty,

3
Questa risposta è molto utile, esattamente per il motivo difeso: qualcuno che proviene da Windows a Mac con un file ppk esistente ha maggiori probabilità di voler esportare da Windows invece di installare PuTTY sul Mac senza uno scopo particolare. Questo è esattamente quello che ho scelto di fare.
trevorsky,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.