2016-01-04 30 views
5

私はこれを長年探しています。SSHサーバーから公開鍵を取得

SSHサーバーからモジュラスと指数を抽出して取得する必要があります。

例えば、私が知っている、それはサーバーxxx.xxx.xxx.xxxでsshを実行している(私はこのサーバ/ pingに接続することができます)が、私は、ユーザー名とパスワードを知らないので、ログインすることはできません。

を私はこのサーバの公開RSAキーの法と指数を得る必要があります。

ssh-keyscanはmodulus +指数を(ドキュメントから)得ることができますが、ssh-rsa1が使用されている場合のみです。私がssh-keyscanでssh-rsa(2)公開鍵を取得しようとすると、出力モジュラスと指数からは取り出せません。

可能ですか?

+0

申し訳ありませんが、あなたが何を求めているかは完全には分かりません。あなたは公開鍵をサーバに保存して何をしたいですか?それはあなたにそのシステムへのアクセスを与えません。あなたは秘密鍵が必要ですから。 – arkascha

+0

私は知っています。それは私の学士論文のためのものです。いくつかの公開鍵を収集する必要があります.... :) – user3157560

+1

まあ、ちょうどいくつかを作成します。 – arkascha

答えて

8

もちろん可能です!

githubのから公開鍵をダウンロードして、github.pubファイルに保存します。X.509公開鍵形式に

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

変換SSH公開鍵形式:

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

解析ASN.1でエンコード鍵の公開鍵係数と指数を取得する:

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

結果:

AB603B8511A67679BDB540DB3BD2034B004AE936D06BE3D760F08FCBAADB4EB4EDC3B3C791C70AAE9A74C95869E4774421C2ABEA92E554305F38B5FD414B3208E574C337E320936518462C7652C98B31E16E7DA6523BD200742A6444D83FCD5E1732D03673C7B7811555487B55F0C4494F3829ECE60F94255A95CB9AF537D7FC8C7FE49EF318474EF2920992052265B0A06EA66D4A167FD9F3A48A1A4A307EC1EAAA5149A969A6AC5D56A5EF627E517D81FB644F5B745C4F478ECD082A9492F744AAD326F76C8C4DC9100BC6AB79461D2657CB6F06DEC92E6B64A6562FF0E32084EA06CE0EA9D35A583BFB00BAD38C9D19703C549892E5AA78DC95E250514069 
23 

第1行は係数であり、第2行は指数です。

+0

ありがとう!私は一日中これをやっていましたが、私の問題は、ssh-keygen -f .... ssh-rsa(最後にbase64-encoded-key)を付けずに解析したことです: '(何も動作していませんでした) – user3157560

+1

次回は、あなたが質問で試したすべてのステップを言及してください。 – divanov

関連する問題