2016-01-04 18 views
5

Sto cercando questo da molto tempo.Ottieni la chiave pubblica dal server SSH

Ho bisogno di estrarre e ottenere modulo ed esponente dal server SSH.

Per esempio, lo so, che sul server di xxx.xxx.xxx.xxx esegue ssh (posso collegare a questo server/ping) ma non so il nome utente e la password in modo da non può accedere.

Ho bisogno di ottenere modulo ed esponente della chiave RSA pubblica di questo server.

Ho trovato che ssh-keyscan può ottenere modulo + esponente (dalla documentazione) ma solo se si utilizza ssh-rsa1. Se tento di ottenere ssh-rsa (2) chiave pubblica con ssh-keyscan, non posso recuperare dal modulo di output e dall'esponente.

È possibile?

+0

Scusate, ma non è completamente chiaro cosa chiedete. Cosa vuoi con la chiave pubblica memorizzata su un server? Non ti darà accesso a quel sistema. Dal momento che hai bisogno della chiave privata per quello. – arkascha

+0

Lo so. È per la mia tesi di laurea. Hai bisogno di raccogliere alcune chiavi pubbliche e .... :) – user3157560

+1

Beh, creane alcune allora. – arkascha

risposta

8

Certo che puoi!

Scarica chiave pubblica da github e salvarlo in un file github.pub:

ssh-keyscan -t rsa github.com | sed "s/^[^ ]* //" > github.pub 

Converti SSH formato chiave pubblica in formato X.509 a chiave pubblica:

ssh-keygen -f github.pub -e -m pem > github.pem 

codifica Parse ASN.1 di chiave per ottenere il modulo chiave pubblica ed esponente:

cat github.pem | sed "/--/d" | openssl asn1parse | grep "INTEGER" | sed "s/.*://" 

Risultato:

AB603B8511A67679BDB540DB3BD2034B004AE936D06BE3D760F08FCBAADB4EB4EDC3B3C791C70AAE9A74C95869E4774421C2ABEA92E554305F38B5FD414B3208E574C337E320936518462C7652C98B31E16E7DA6523BD200742A6444D83FCD5E1732D03673C7B7811555487B55F0C4494F3829ECE60F94255A95CB9AF537D7FC8C7FE49EF318474EF2920992052265B0A06EA66D4A167FD9F3A48A1A4A307EC1EAAA5149A969A6AC5D56A5EF627E517D81FB644F5B745C4F478ECD082A9492F744AAD326F76C8C4DC9100BC6AB79461D2657CB6F06DEC92E6B64A6562FF0E32084EA06CE0EA9D35A583BFB00BAD38C9D19703C549892E5AA78DC95E250514069 
23 

La prima riga è un modulo e la seconda linea è un esponente.

+0

grazie mille! Lo stavo facendo tutto il giorno, ma il mio problema era che analizzo da ssh-keygen -f .... stringa senza ssh-rsa (solo l'ultima chiave codificata in base64): '(e niente funzionava – user3157560

+1

Sei il benvenuto? La prossima volta menziona tutti i passaggi che hai provato nella domanda. – divanov

Problemi correlati