Come convertire le coppie di chiavi SSH generate utilizzando PuTTYgen (Windows) in coppie di chiavi utilizzate da ssh-agent e Portachiavi (Linux)

StackOverflow https://stackoverflow.com/questions/2224066

Domanda

Ho generato coppie di chiavi utilizzando PuTTYgen e ho effettuato l'accesso utilizzando Pageant, quindi devo inserire la mia passphrase solo una volta all'avvio del sistema.

Come posso ottenere questo risultato in Linux?ne ho sentito parlare keychain ma ho sentito che utilizza un diverso formato di coppia di chiavi: non voglio cambiare le mie chiavi Windows e sarebbe bello se potessi connettermi senza problemi allo stesso modo sia in Windows che in Linux.

È stato utile?

Soluzione

puttygen supporta l'esportazione della tua chiave privata in un formato compatibile con OpenSSH.È quindi possibile utilizzare gli strumenti OpenSSH per ricreare la chiave pubblica.

  1. Apri PuttyGen
  2. Fare clic su Carica
  3. Carica la tua chiave privata
  4. Vai a Conversions->Export OpenSSH ed esporta la tua chiave privata
  5. Copia la tua chiave privata in ~/.ssh/id_dsa (O id_rsa).
  6. Creare la versione RFC 4716 della chiave pubblica utilizzando ssh-keygen

    ssh-keygen -e -f ~/.ssh/id_dsa > ~/.ssh/id_dsa_com.pub
    
  7. Converti la versione RFC 4716 della chiave pubblica nel formato OpenSSH:

    ssh-keygen -i -f ~/.ssh/id_dsa_com.pub > ~/.ssh/id_dsa.pub
    

Vedere Questo E Questo per maggiori informazioni.

Altri suggerimenti

Se tutto ciò che hai è una chiave pubblica di un utente in formato stile PuTTY, puoi convertirla nel formato openssh standard in questo modo:

ssh-keygen -i -f keyfile.pub > newkeyfile.pub

Riferimenti

Copia dell'articolo

Continuo a dimenticarlo, quindi lo scrivo qui.I non-geek, solo Continua a camminare.

Il modo più comune per creare una chiave su Windows è utilizzare Putty/Puttygen.Puttygen fornisce un'utilità ordinata per convertire una chiave privata linux in Formato stucco.Tuttavia, ciò che non viene risolto è che quando si salva il file Chiave pubblica utilizzando puttygen non funzionerà su un server Linux.Finestre Inserisce alcuni dati in aree diverse e aggiunge interruzioni di riga.

La soluzione:Quando si arriva alla schermata della chiave pubblica nella creazione del coppia di chiavi in puttygen, copiare la chiave pubblica e incollarla in un testo file con estensione .pub.Risparmierai ore di amministratore di sistema frustrazione nel leggere post come questo.

TUTTAVIA, amministratori di sistema, si ottiene invariabilmente il file chiave traballante che genera Nessun messaggio di errore nel registro di autenticazione, ad eccezione di nessuna chiave trovata, parola d’ordine;anche se le chiavi di tutti gli altri funzionano bene, e Questa chiave è stata restituita all'utente 15 volte.

ssh-keygen -i -f keyfile.pub > newkeyfile.pub

Dovrebbe convertire una chiave pubblica puttygen esistente nel formato OpenSSH.

Le versioni più recenti di PuTTYgen (il mio è 0,64) sono in grado di mostrare la chiave pubblica OpenSSH per essere incollato nel sistema linux nel file .ssh/authorized_keys, come mostrato nell'immagine seguente:

entrare descrizione dell'immagine qui

In alternativa, se si vuole afferrare le chiavi pubbliche e private da un file chiave PuTTY formattato è possibile utilizzare puttygen su sistemi * nix. Per i sistemi più apt-basato puttygen è parte del pacchetto putty-tools.

L'output di una chiave privata da un file di chiavi PuTTY formattato:

$ puttygen keyfile.pem -O private-openssh -o avdev.pvk

Per la chiave pubblica:

$ puttygen keyfile.pem -L

sudo apt-get install putty

Questo installerà automaticamente lo strumento puttygen.

Ora per convertire il file PPK per essere utilizzato con il comando SSH eseguire il seguente nel terminale

puttygen mykey.ppk -O private-openssh -o my-openssh-key

Quindi, è possibile collegarsi tramite SSH con:

ssh -v user@example.com -i my-openssh-key

http://www.graphicmist.in/use-your-putty-ppk-file-to-ssh-remote-server-in-ubuntu/#comment-28603

Recentemente ho avuto questo problema come mi muovevo da mastice per Linux a Remmina per Linux. Così ho un sacco di file PPK per Putty nella mia directory .putty come ho usato è per 8 anni. Per questo ho usato un semplice comando for per shell bash di fare tutti i file:

cd ~/.putty
for X in *.ppk; do puttygen $X -L > ~/.ssh/$(echo $X | sed 's,./,,' | sed 's/.ppk//g').pub; puttygen $X -O private-openssh -o ~/.ssh/$(echo $X | sed 's,./,,' | sed 's/.ppk//g').pvk; done;

molto veloce e al punto, ha ottenuto il lavoro fatto per tutti i file che stucco aveva. Se trova una chiave con una password si fermerà e chiederà la password per quella chiave prima e poi continuare.

Probabilmente è più semplice creare le chiavi in ​​Linux e utilizzare PuTTYgen per convertire le chiavi nel formato PuTTY.

Domande frequenti su PuTTY:A.2.2

Credo che ciò che TCSgrad stava cercando di chiedere (a pochi anni fa) era quello di rendere Linux si comporti come la sua macchina di Windows fa. Cioè, c'è un agente (spettacolo), che contiene una copia decodificata di una chiave privata in modo che la passphrase ha solo bisogno di essere messo in una volta. Quindi, il client ssh, stucco, può accedere alle macchine dove la sua chiave pubblica è elencato come "autorizzato", senza una richiesta di password.

L'analogo di questo è che Linux, in qualità di un client ssh , ha un agente in possesso di un chiave privata decifrato in modo che quando tipi TCSgrad "host ssh" il comando ssh otterrà la sua chiave privata e andare senza essere richiesta una password. oste avrebbe, ovviamente, devono essere in possesso della chiave pubblica in ~ / .ssh / authorized_keys.

L'analogo Linux a questo scenario viene eseguita utilizzando ssh-agent (l'analogo corteo) e ssh-add (l'analogo per l'aggiunta di una chiave privata per Pageant).

Il metodo che ha funzionato per me è stato quello di utilizzare: $ Ssh-agent $ SHELL Che $ SHELL era il trucco magico avevo bisogno di fare la corsa agente e rimanere in esecuzione. Ho trovato che da qualche parte 'sulla rete ed è finito qualche ora di battere la testa contro il muro.

Ora abbiamo l'analogo di corsa spettacolo, un agente senza chiavi caricati.

Typing $ Ssh-add di per sé aggiungerà (per impostazione predefinita) le chiavi private elencati nei file di identità predefinite in ~ / .ssh.

Un articolo web con dettagli molto di più può essere trovato qui

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top