2016-04-04 17 views
-1

秘密鍵(PEMファイル)である私のSSH鍵ファイルの指紋を持っています。SSHキー* .pemは指紋を取得しますか?

私は、次のthisthatアドバイス試してみました:

-----BEGIN RSA PRIVATE KEY-----
..
-----END RSA PRIVATE KEY-----

どのように私は指紋を取得することができます:キーファイルがどのように見える

/dev/stdin is not a public key file.

:このエラーをint結果の

key=$(ssh-keygen -yf lony.pem) | echo $key | ssh-keygen -lf /dev/stdin <<<"$key" 

を?

答えて

3

このコマンドパイプラインにはいくつかの問題があります。

key=$(ssh-keygen -yf lony.pem) | echo $key | 
ssh-keygen -lf /dev/stdin <<<"$key" 

あなたはパイプにしようとしている理由は第一に、それは(|echoステートメントにあなたの代入文の標準出力は明らかではありません。最初のものは出力を生成せず、2番目の出力は何も入力を消費しません。 3番目のコンポーネントでは、echoコマンドのstdoutをssh-keygen ...のstdinにパイプしています。<<<演算子を使用してstdinをリダイレクトしています。

秘密鍵ファイルからフィンガープリントを取得する最も簡単な方法は、単に実行することです:

ssh-keygen -lf /path/to/privatekey.pem 

たとえば、私たちは、秘密鍵生成する場合:

bash-4.3$ ssh-keygen -f testkey -N '' 

を私たちは、その後、比較することができますこれに

bash-4.3$ ssh-keygen -lf testkey 
2048 SHA256:beF471z86giH7cV49TduNVFD949UXzT+jHxgu+99gmM [email protected] (RSA) 

これの出力0
bash-4.3$ ssh-keygen -yf testkey | ssh-keygen -lf /dev/stdin 
2048 SHA256:beF471z86giH7cV49TduNVFD949UXzT+jHxgu+99gmM no comment (RSA) 

そして、両方のコマンドから同じ指紋が得られることがわかります。

+0

ありがとうございます!私はちょうど公開鍵から指紋を欲しかった。問題はあなたの最後のコマンドが常に "/ dev/stdinは公開鍵ファイルではありません"という結果になります。 – lony

+0

AWSが別のフィンガープリンティング方法を使用している可能性はありますか?最初のメソッドを使用すると、AWSのように別のハッシュが返されます。( – lony

+1

http://serverfault.com/questions/603982/why-does-my-openssh-key-fingerprint-not-match-the-aws-ec2-console- keypair-fingerそれを解決した – lony

関連する問題