web-dev-qa-db-ja.com

健全性チェックSSH公開鍵?

ユーザーに公開の「id_rsa.pub」sshキーを要求し、それを「/home/theiraccount/.ssh/authorized_keys」に配置して、SSHでサーバーにログインできるようにしました。このプロセスを自動化したいのですが。

彼らが私に(プログラム的にまたは他の方法で)与えた文字列をサニティチェックする方法はありますか? sshdがテキストを読み取れること、および実際に有効な公開鍵のように見えること(および破損していないこと)を確認したいですか?

言い換えれば、id_rsa.pubファイルの形式は何ですか?誰かがフィールドに入力した場合、フォームハンドラスクリプトに何を記述して、完全で正しいことを確認できますか?

14
Andrew Tomazos

ssh-keygenを使用して、キーファイルのフィンガープリントを計算できます。これは、キーを渡さないと失敗します。

ssh-keygen -l -f id_rsa.pub

別の可能性は ssh-vulnkey 、これには、既知の侵害されたキーのブラックリストに対してキーを同時にチェックするという利点があります。

30
mata