
X509証明書を使用してOpenSSHとの接続をテストしたいのですがRoumen Petrov による pkixssh フォーク。
完全な認証がどのように機能するのか、特に公開鍵証明書の検証のために X509 標準を使用して証明書を作成する方法がまったくわかりません。
そこで、まず私がどのように理解しているか、そして接続をテストするために私が従う全プロセスについて説明します。"クライアント"そして"サーバ"X509証明書を使用するOpenSSHのPKIXSSHフォークを搭載したマシン。テストを行うために、3台目のマシンを使用します。「制御機械」、「認証局」として機能するマシン
仕組みを理解するために、次の文書を読みました。
- 「SSH によるスケーラブルで安全なアクセス」Facebook より: 公開鍵の検証における認証局の役割を理解するのに非常に役立ちます。
- 「SSH および X509 証明書の HOWTO」Gentooディスカッションフォーラムより: 本当に良い、そして必要なハウツー
- 「SSH 用 x509 証明書」ブログ「Linux Attitude」からの投稿: もう一つのハウツー、こちらはフランス語です
簡単にまとめると、そして私が正しく理解していれば、その仕組みは次のようになります。
- X509 は公開鍵に署名するための標準です。認証局がわかっている場合、署名された公開鍵は有効であるとみなされます。
- ホストとユーザーの公開鍵に署名できる
- X509証明書を使用すると、パスワードや従来のOpenSSH秘密鍵と公開鍵の認証を使用せずにOpenSSHサーバーにサインインできます。これは、ユーザーの公開鍵を宛先サーバーにコピーする必要はありません。
- ホストに X509 証明書を使用すると、クライアントは、known_host ファイルに公開キーを手動で追加する必要なく、OpenSSH サーバーを信頼します。
次の 2 つのテストを実行します。
- X509証明書を使用してクライアントマシンからサーバーへのユーザーの接続をテストします。
- 2番目のステップでは、サーバーホストの認証を追加します
私は次のステップを踏む必要があるという結論に達した。
「制御」マシンでは:
- テスト認証局のキーを設定して作成する
- 公開認証局キーを「サーバー」マシンのOpenSSHデーモンに送信して、CAが認識されるようにします。
「クライアント」マシンの場合:
- ユーザーの秘密鍵と公開鍵を作成する
- 公開鍵を制御マシンに送信し、CAによって署名される
- 証明書を秘密鍵ファイルに追加してサーバーに提示します
この時点ですべてが所定の位置にあるはずなので、接続をテストすることができます。
正しく理解できましたか?
答え1
ついに接続を理解してテストしました :-)。
先ほど展開したブログに投稿を書きました (手早く簡単に書いたもので、ブログはシンプルであまり見栄えがよくありませんが、役に立ちます)。
テストの詳しい説明は記事で読むことができます「X509 証明書を使用した OpenSSH の使い方」
製品のメーリング リストで私の電子メールに返信してくれた Roumen Petrov 氏に感謝します。