ssh-keygenを使用してSSHキーを生成する方法

How Use Ssh Keygen Generate An Ssh Key



SSHまたはセキュアシェル は、さまざまな管理タスクのためにクライアントとサーバー間の接続を保護するための便利な暗号化プロトコルです。さまざまなタイプの認証システムをサポートします。公開鍵ベースの認証とパスワードベースの認証が主に使用されます。キーベースの認証は、パスワードベースの認証よりも安全です。 SSHの認証キーペアは、ホストの認証、ログインの自動化など、さまざまな目的に使用できるssh-keygenツールによって生成されます。このツールをUbuntuで使用する方法は、このチュートリアルで示されています。

構文:

このコマンドの構文は次のとおりです。これは、後で説明する認証キーペアを生成するための多くのオプションをサポートします。







ssh-keygen [-NS] [-bビット] [-どのようだ] [-f output_keyfile] [-m形式]

[-t dsa|ecdsa|ecdsa-sk|ed25519|ed25519-sk|rsa]

[-N new_passphrase] [-Oオプション] [-wプロバイダー]

ssh-keygenのさまざまなオプション:

さまざまなタイプのssh-keygenオプションを使用する目的を以下に説明します。



オプション 目的
-に デフォルトのキーファイルパス、空のパスフレーズ、キータイプのデフォルトビット、およびコメントを使用してホストキーを生成します。
-bビット 作成されるキーのビット数を定義するために使用されます。
-どのようだ 新しいコメントを定義するために使用されます。
-NS 公開鍵ファイルと秘密鍵ファイルのコメントの変更を要求するために使用されます。
-Eフィンガープリント_ハッシュ これは、フィンガープリントを表示するために使用されるハッシュアルゴリズムを定義するために使用されます。
-と 秘密鍵または公開鍵ファイルを読み取り、stdoutに出力するために使用されます。
-Fホスト名| [ホスト名]:ポート これは、known_hostsファイル内のオプションのポート番号を使用して特定のホスト名を検索するために使用されます。
-fファイル名 キーファイルのファイル名を定義するために使用されます。
-NS これは、known_hostsファイルをハッシュするために使用されます。これにより、すべてのホスト名とアドレスが、指定されたファイル内のハッシュ表現に置き換えられます。元のコンテンツは、.oldサフィックスが付いたファイルに移動されます。
-私 暗号化されていない秘密(または公開)鍵ファイルを読み取るために使用されます。
-NS 1つ以上の証明書の内容を印刷するために使用されます。
-NS 指定された公開鍵ファイルのフィンガープリントを表示するために使用されます。
-N new_passphrase これは、新しいパスフレーズを提供するために使用されます。
-Pパスフレーズ 古いパスフレーズを提供するために使用されます。
-t dsa | ecdsa | ecdsa-sk | ed25519 | ed25519-sk | rsa 作成されるキーのタイプを定義するために使用されます。

ssh-keygenを使用してキーを作成します。

オプション付きまたはオプションなしでssh-keygenを実行することにより、SSHキーペアを作成できます。 SSHキーペアを作成するさまざまな方法が、このチュートリアルのこの部分に示されています。キーを作成するには、OpenSSHがインストールされているサーバーマシンにログインする必要があります



オプションなしでキーペアを生成します。

次のコマンドは、オプションを使用せずにキーペアを作成します。





$ssh-keygen

上記のコマンドを実行した後、キーを保存するファイル名を指定するか、Enterキーを押してデフォルトのファイル名を保存できます。ここでは、Enterキーが押されています。次に、Enterキーをもう一度押すと、空のパスワードを設定するか、パスワードを設定できます。



単一のオプションでキーペアを生成します。

次のコマンドは、-tオプションを指定したコマンドで指定されたrsaタイプのキーペアを生成します。

$ssh-keygen -NSrsa

前のコマンドと同様に、ファイル名を指定するか、デフォルトのファイル名を使用してキーペアを保存し、SSH接続のパスワードまたは空のパスワードを設定できます。

複数のオプションを使用してキーペアを生成します。

次のコマンドを実行して、2000ビットとコメント値を持つrsaタイプのキーペアを生成します。[メール保護]

$ssh-keygen -NSrsa-NS 2000年 -NS ' [メール保護] '

前のコマンドと同様に、ファイル名を指定するか、デフォルトのファイル名を使用してキーペアを保存し、SSH接続のパスワードまたは空のパスワードを設定できます。上記のコマンドを実行する前にキーファイルを生成した場合は、キーファイルを上書きするかどうかを尋ねられます。 「y」と入力すると、以前に生成されたファイルが新しいキーで上書きされます。

公開鍵をサーバーにコピーします。

サーバーマシンから次のコマンドを実行して、公開鍵をサーバーマシンに追加します。このコマンドは、キーをサーバーにコピーし、サーバーにアクセスするためにキーをauthorized_keysファイルに追加するように構成します。

$ssh-copy-id-私/.ssh/id_rsa fahmida@fahmida-VirtualBox

公開鍵が以前にサーバーマシンに追加されていなかった場合は、次の出力が表示されます。

サーバーの構成ファイルを変更します。

パスワードベースの認証を設定し、サーバーのrootユーザーログインを許可する場合は、サーバーマシンの構成ファイルでいくつかのオプションを有効にする必要があります。サーバーのSSH構成ファイルのパスは/ etc / ssh / sshd_configです。任意のテキストエディタでファイルを開きます。次のコマンドを実行して、nanoエディターでファイルを編集します。

$sudo ナノ /NS/ssh/sshd_config

次の行でファイルを追加または変更して、パスワードベースの認証を有効にし、rootユーザーのログイン権限を設定します。

PasswordAuthenticationはい

PermitRootLoginはい

ファイルを保存して閉じます。次のコマンドを実行して、SSHサービスを再起動します。

$sudosystemctl restartssh

SSHクライアントからログインします。

サーバーに接続するクライアントマシンにログインして、SSH接続が機能しているかどうかを確認します。ターミナルを開き、次のコマンドを実行してサーバーマシンのIDを追加します。

$ssh-追加

次のsshコマンドを実行して、クライアントマシンからサーバーマシンに接続します。パスワード認証とルートログインは、このチュートリアルの前の部分でサーバーのSSH構成ファイルで有効になっています。したがって、SSH接続を正常に確立するには、ユーザーはサーバーマシンの有効なrootパスワードを入力する必要があります。

$ssh <href='mailto:[メール保護]'>>ファミダ@10.0.2.15

クライアントからサーバーへのSSH接続を確立した後、次の同様の出力が表示されます。

結論:

このチュートリアルでは、ssh-keygenを使用してSSHキーペアをさまざまな方法で生成する方法について説明しました。このチュートリアルを読んだ後、UbuntuユーザーがSSH接続を確立するためにssh-keygenを使用してSSHキーを生成することを願っています。