ssh-keygenコマンドの使用によるキー・ペアの生成
ssh-keygenコマンドを使用して公開認証キーと秘密認証キーのペアを生成します。 認証キーを使用すると、リモート・システムへの接続のたびにパスワードを入力する必要がなくなります。 各ユーザーは、それぞれのキーのペアを生成する必要があります。
ssh-keygenの実行
公開および非公開のSSH2キー・ペアを作成するには、次のコマンドを実行します:
ssh-keygen
-
Oracle Linux 8およびOracle Linux 9では、
ssh-keygen
ユーティリティによって、ベース名がid_rsa
のRSAキーがデフォルトで生成されます。 コマンド出力は、次の出力例に似ています:Generating public/private rsa key pair. Enter file in which to save the key (/home/guest/.ssh/id_rsa): <Enter> Created directory '/home/guest/.ssh'. Enter passphrase (empty for no passphrase): password Enter same passphrase again: password Your identification has been saved in /home/guest/.ssh/id_rsa. Your public key has been saved in /home/guest/.ssh/id_rsa.pub. ...
-
Oracle Linux 10では、
ssh-keygen
ユーティリティによって、ベース名がid_ed25519
のed25519キーがデフォルトで生成されます。 コマンド出力は、次の出力例に似ています:Generating public/private ed25519 key pair. Enter file in which to save the key (/home/opc/.ssh/id_ed25519): Enter passphrase (empty for no passphrase): password Enter same passphrase again: password Your identification has been saved in /home/guest/.ssh/id_ed25519 Your public key has been saved in /home/guest/.ssh/id_ed25519.pub
デフォルトのアルゴリズム以外のアルゴリズムを使用してSSHキー・ペアを作成するには、-tオプションを使用します。 指定できる値は、ecdsa
、ed25519
およびrsa
です。
安全のため、秘密キーに攻撃者からアクセスされる場合に備えて、パスフレーズを指定して秘密キーを暗号化できます。 秘密キーを暗号化する場合は、キーを使用するたびにこのパスフレーズを入力する必要があります。 パスフレーズを指定しなかった場合は、パスフレーズの入力は要求されません。
詳細は、ssh-keygen(1)
マニュアル・ページを参照してください。
キー・ファイルの場所
ssh-keygenは、秘密キー・ファイルと公開キー・ファイルを$HOME/.ssh
に生成します(秘密キー・ファイルに別のディレクトリを指定しないかぎり)。 サーバー上のキーを表示するには、次のコマンドを実行します:
ls -l $HOME/.ssh
...
-rw-------. 1 guest guest 1743 Apr 13 12:07 id_sshkey
-rw-r--r--. 1 guest guest 397 Apr 13 12:07 id_sshkey.pub
...
ノート:
前述の出力例では、プレースホルダーid_sshkeyは、Oracle Linuxインスタンスで次のデフォルト値を持ちます:-
Oracle Linux 8およびOracle Linux 9インスタンスの
id_rsa
。 -
Oracle Linux 10インスタンスの
id_ed25519
。