SSHは、秘密鍵や公開鍵などの鍵と値のペアを使用してユーザーを検証および認証するために使用されます。このようなキーは、ssh-keygenコマンドを使用して生成されます。 RSA、DSAなどのさまざまなタイプのキーを生成できます。
この記事では、ssh-keygenコマンドを使用して、SSHで使用される公開鍵と秘密鍵を認証するさまざまな鍵を生成するプロセスについて説明します。 Ubuntu20.04LTSサーバーでデモンストレーションします。
ssh-keygenの使用
ssh-keygenコマンドを使用すると、RSA、DSAなどのさまざまなタイプのキーを生成できます。それでは、まず、以下で説明するポイントを利用して、これらのキーを理解しましょう。
- $ HOME / .ssh / id_rsa:ユーザーのRSA認証IDファイル。ユーザーのみが読み取ることができます。
- $ HOME / .ssh / id_rsa.pub:認証用のRSA公開鍵ファイル。
このような公開鍵ファイルはリモートサーバーにコピーされるため、ユーザーはSSH認証でログインできます。リモートサーバーの$HOME/ .ssh/authorized_keysファイルにコピーされます。
- $ HOME / .ssh / id_dsa:ユーザーのDSA認証IDファイル。ユーザーのみが読み取ることができます。
- $ HOME / .ssh / id_dsa.pub:認証用のDSA公開鍵ファイル。
RSAキーを作成するためのssh-keygen
ここでは、ssh-keygenを使用して認証用のRSAキーを作成します。デフォルトでは、ssh-keygenコマンドを使用するだけで、rsaキーが生成されます。以下に示すコマンドを実行して、rsaキーを生成しましょう。
$ ssh-keygen -t rsa
または
$ ssh-keygen
上記のコマンドを実行すると、以下のような出力が表示されます。
ここでは、両方の公開鍵、つまり id_rsa.pub および秘密鍵、つまり id_rsa デフォルトの場所である$HOME/.ssh/に保存されます。
ユーザーがSSH認証でログインできるように、公開鍵をリモートサーバーにコピーする必要があるため。リモートサーバーの$HOME/ .ssh/authorized_keysファイルにコピーされます。上記のコマンドで生成された公開鍵を確認しましょう。
$ cat id_rsa.pub
この公開鍵をコピーして、次の場所に貼り付けるだけです:認証用のリモートサーバーの$ HOME / .ssh/authorized_keysファイル。
DSAキーを作成するためのssh-keygen
同様に、DSAキーは、コマンドを変更するだけで作成できます。デフォルトでは、ssh-keygenコマンドを使用するだけで、rsaキーが生成されます。ただし、DSAキーを生成するには、コマンドの引数として-tdsaを入力するだけです。詳細については、以下のようにコマンドを実行できます。
$ ssh-keygen -t dsa
上記のコマンドを実行すると、次のように出力を取得できます。
両方の公開鍵、つまり id_dsa.pub および秘密鍵、つまり id_dsa デフォルトの場所である$HOME/.ssh/にも保存されます。
ユーザーがSSH認証でログインできるように、公開鍵をリモートサーバーにコピーするだけです。リモートサーバーの$HOME/ .ssh/authorized_keysファイルにコピーされます。上記のコマンドで生成された公開鍵を確認しましょう。
$ cat id_dsa.pub
この公開鍵をコピーして、次の場所に貼り付けます:認証用のリモートサーバーの$ HOME / .ssh/authorized_keysファイル。
結論
この記事では、認証用にRSA、DSAなどのさまざまな種類のキーを生成し、公開キーをリモートサーバーの$ HOME / .ssh/authorized_keysファイルにコピーしてさまざまなリモートサーバーに接続する方法を学習しました。ありがとうございます!