SSH キー ペアを生成する方法 (例あり)
コンピュータ上で SSH キー ペアを生成する方法を学び、それを使用してリモート サーバーへの接続を認証します。
パスワード認証は、ほとんどの SSH クライアントがリモート サーバーでの認証に使用するデフォルトの方法ですが、ブルート フォース ログイン試行などの潜在的なセキュリティ脆弱性があります。
パスワード認証の代わりに、SSH キーペアによる認証を使用することもできます。この場合、SSH キーを生成してコンピュータに保存します。
SSH キーは、パスワードを使用せずに信頼できるコンピュータを識別する簡単な方法です。 これらは、サーバーをリモートで制御するためにネットワーク管理者やシステム管理者によって広く使用されています。
したがって、SSH キー認証はパスワード認証よりも安全であり、おそらくより便利です。
中心的なコンセプトは、パスワードの代わりに、事実上推測が不可能なキー ファイルを使用するということです。キーの公開部分を指定すると、ログイン時に秘密キーとユーザー名とともに本人確認に使用されます。
以下の手順では、SSH キー ペアを生成し、サーバーに公開キーを追加する方法を示します。
Linux で SSH キー ペアを生成する方法
Linux で SSH キーを生成する場合は、ssh-keygen
コマンドを使用できます。 SSH用の新しい認証キーペアを作成するツールです。
SSH キー ペアを生成するには、ターミナルを開いて次のコマンドを入力します。
ssh-keygen -t rsa
ファイル、パスフレーズ、または同じパスフレーズを要求されたら、Enter キーを押すだけです。このコマンドは、デフォルトで ~/.ssh
ディレクトリにキーのペアを生成します。
これで 2 つのファイルができました。
id_rsa
id_rsa.pub
(秘密鍵)。秘密キーはローカル コンピュータに保存され、コンピュータ上の他のユーザーがファイルを読み取れないようにアクセス許可を設定して安全に保管する必要があります。
(公開鍵)。公開キーは、ログインするサーバーに配置する必要があります。公開キーを他の人と自由に共有できます。
ls -l /home/linuxiac/.ssh/
drwx------ 2 linuxiac linuxiac 4096 Jul 16 18:31 .
drwxr-xr-x 4 linuxiac linuxiac 4096 Jul 16 18:31 ..
-rw------- 1 linuxiac linuxiac 2610 Jul 16 18:31 id_rsa
-rw-r--r-- 1 linuxiac linuxiac 576 Jul 16 18:31 id_rsa.pub
公開キーを任意のサーバーに配置し、ssh
を使用してサーバーに接続できます。 公開キーと秘密キーが一致すると、SSH サーバーはパスワードを必要とせずにアクセスを許可します。
その方法がわからない場合は、短くてわかりやすいガイド「パスワードなしで SSH ログインを設定する方法」を参照することをお勧めします。
セキュリティを強化するために、-b
オプションを使用してさらに大きな SSH キーを生成できます。
-b
フラグは、キー ペアの作成に使用されるビット数を増やすように ssh-keygen
に指示し、セキュリティを強化するために推奨されます。たとえば、4096 ビットの場合は、次のようにします。
ssh-keygen -t rsa -b 4096
結論
この記事では、ssh-keygen
を使用して SSH キー ペアを生成する方法を学習しました。 SSH キーには、パスワードに比べて多くの利点があります。
- セキュリティの強化: ブルートフォースや推測はほぼ不可能です。
- 管理が簡単: ランダムなパスワードを作成および変更する必要はもうありません。
- 自動化されたタスク: 毎回パスワードを入力する必要がないため、SSH を必要とするタスクを自動化することが簡単になります。
Linux の ssh-keygen
コマンドの詳細については、そのマニュアル ページを参照してください。
関連: 22 以外のポートへの SSH: 実行方法 (例あり)
ご質問がございましたら、お気軽にコメントを残してください。