SSHを使用するために、ホストにも公開鍵と秘密鍵が必要なのはなぜですか?また、自分用の公開鍵と秘密鍵のペアをどのように生成できますか?
偽のサーバーではなく正しいサーバーに接続していることを確認するには、ホストキーが必要です。
# private key
openssl genrsa -out privkey.pem 2048
# public key
openssl rsa -in privkey.pem -pubout -out pubkey.pem
詳細については:
http://www.openssl.org/docs/apps/rsa.html
http://www.openssl.org/docs/HOWTO/keys.txt
ディストリビューションによって異なります。 Ubuntuでは、次のコマンドを使用します。
ssh-keygen
これは2つの鍵を生成します。1つは公開(サーバーで共有するもの)であり、もう1つは秘密であり、誰とも共有しないものとします。公開鍵がサーバーの〜/ .ssh/authorized_keysにコピーされると、パスワードの入力を求められることなくログインできます。
公開鍵/秘密鍵はロックや鍵のようなものです。サーバーはロックを送信しますが、鍵は保持し、その後、サーバーへのメッセージをロックします。そのデータを取得できるように、サーバーにもロックを送信する必要があります。
とにかくキーを生成するには、ssh-keygen
を使用する必要があります。非対称キーに基づく暗号化システムであるSSLを使用するには、秘密キーと公開キーが必要です。