GNU/Linux >> Linux の 問題 >  >> Linux

Linux で ssh-keygen コマンドを使用する方法

ssh-keygen コマンドを使用して、公開/秘密認証キー ペアを生成します。認証キーを使用すると、ユーザーはパスワードを入力せずにリモート システムに接続できます。キーは、ユーザーごとに個別に生成する必要があります。 root ユーザーとして鍵ペアを生成すると、root だけが鍵を使用できます。

次の例では、RSA キーの公開部分と秘密部分を作成します:

# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:z6zTVQ/PJYt2o96DrVYClmfcqBG8Pdb8nzqY2m2HjeY root@geeklab
The key's randomart image is:
+---[RSA 2048]----+
|         .       |
|          o      |
|           * =   |
|          * O B .|
|        S. B + O.|
|         +. = = =|
|         .+ooB+.o|
|        ..oo=Bo+.|
|        .o.+*E=. |
+----[SHA256]-----+

–t オプションを使用して、作成するキーのタイプを指定します。可能な値は「rsa1」です 」、プロトコル バージョン 1 の場合は「dsa」 「、」ecdsa 」、または「rsa」 」はプロトコル バージョン 2 の場合です。

鍵の秘密部分を暗号化するパスフレーズを指定するオプションがあります。個人キーを暗号化する場合は、キーを使用するたびにパスフレーズを提供する必要があります。これにより、あなたの秘密鍵にアクセスできる攻撃者が、あなたになりすまして、アクセスできるすべてのコンピューターにアクセスするのを防ぐことができます。攻撃者は引き続きパスフレーズを提供する必要があります。

この例の ssh-key コマンドは、~/.ssh ディレクトリに 2 つのキーを生成しました:

$ ls ~/.ssh
id_rsa
id_rsa.pub

パスワードを入力せずにリモート システムにログオンまたはファイルをコピーするには、公開鍵 (この例では ~/.ssh/id_rsa.pub) をリモート システムの ~/.ssh/authorized_keys にコピーします。リモート ~/.ssh を設定します 700 までのディレクトリ権限 .その後、ssh または scp ツールを使用して、パスワードを入力せずにリモート システムにアクセスできます。

複数の接続を許可するには、公開鍵をコピーするのではなく、リモート システムのauthorized_keysファイルに追加します。次の例では、公開鍵を追加しています:

$ cat id_rsa.pub >> authorized_keys

標準のパスワード認証を無効にし、キーベースの認証を強制することで、システムのセキュリティをさらに向上させることができます。これを行うには、/etc/ssh/sshd_config で PasswordAuthentication オプションを no に設定します。 構成ファイルは次のとおりです:

# vi /etc/ssh/sshd_config
PasswordAuthentication no

これにより、キーが authorized_keys にないユーザーは許可されなくなります ssh経由で接続するサーバー上の特定のユーザーのファイル。接続が拒否され、次のメッセージが表示されます:

$ ssh host01
Permission denied (publickey,gssapi-keyex,gssapi-with-mic).

PasswordAuthentication オプションをデフォルトの yes に設定すると、ユーザーは認証にパスワードを使用できます。


Linux
  1. Linuxsedコマンドの使用方法

  2. Linuxでidコマンドを使用する方法

  3. Linux で「screen」コマンドを使用する方法

  1. Linuxgrepコマンドの使用方法

  2. Linuxでhistoryコマンドを使用する方法

  3. LinuxでSuコマンドを使用する方法

  1. Linuxでsudoコマンドを使用する方法

  2. Linuxをコマンドで使用する方法

  3. ssh-keygen コマンドを使用してパスワードなしの ssh を構成する方法