ユーザーに公開の「id_rsa.pub」sshキーを要求し、それを「/home/theiraccount/.ssh/authorized_keys」に配置して、SSHでサーバーにログインできるようにしました。このプロセスを自動化したいのですが。
彼らが私に(プログラム的にまたは他の方法で)与えた文字列をサニティチェックする方法はありますか? sshdがテキストを読み取れること、および実際に有効な公開鍵のように見えること(および破損していないこと)を確認したいですか?
言い換えれば、id_rsa.pub
ファイルの形式は何ですか?誰かがフィールドに入力した場合、フォームハンドラスクリプトに何を記述して、完全で正しいことを確認できますか?
ssh-keygen
を使用して、キーファイルのフィンガープリントを計算できます。これは、キーを渡さないと失敗します。
ssh-keygen -l -f id_rsa.pub
別の可能性は ssh-vulnkey
、これには、既知の侵害されたキーのブラックリストに対してキーを同時にチェックするという利点があります。