パスワード不要のリモート・システム・アクセスの有効化
パスフレーズを必要としないキー・ペアを作成できます。これは、ツールがリモート・システムへのSSHアクセスを必要とする可能性があるが、パスフレーズの入力を求める必要がない繰返し操作を省く環境に役立ちます。
広く使用できるようにするために、秘密キーにパスフレーズを設定してから、SSHエージェントを使用してログイン・セッション全体のキー・パスフレーズを記憶することをお薦めします。 詳細は、SSHキー・エージェントの使用によるパスフレーズの記憶を参照してください。
ただし、SSHエージェントの使用は必ずしも実用的というわけではなく、ブート時にロードされる一部のサービスの場合は、パスフレーズを使用しないキーの作成が必要な場合があります。
OpenSSHユーティリティを使用して、接続のたびにパスワードを指定することなくリモート・システムにアクセスするには、次のようにします。
-
ssh-keygenを使用して、公開キーと秘密キーのペアを生成します。たとえば:
ssh-keygen
コマンド出力は、次のサンプル出力に似ています。
... Enter file in which to save the key (/home/user/.ssh/id_sshkey): <Enter> Created directory '/home/user/.ssh'. Enter passphrase (empty for no passphrase): <Enter> Enter same passphrase again: <Enter> ...
パスフレーズの入力を要求するプロンプトが表示されるたびに、
[Enter]
を押します。 -
公開キーをリモート・サーバーにコピーします。 リモート・サーバーへの公開キーのコピーを参照してください。
-
クライアントとサーバー・システムでユーザー名が異なる場合は、この接続用の
$HOME/.ssh/config
ファイル・エントリを作成します。 ホストに関するSSHクライアント構成オプションの設定を参照してください。 -
$HOME/.ssh
構成ファイルに対する権限がサーバー側とクライアント側の両方で正しいことを確認します。 詳細は、構成権限の確認を参照してください。 - パスワードを指定せずにリモート・システムにアクセスするには、sshを使用してリモート・システムにサインインし、
$HOME/.ssh/authorized_keys
ファイルに、接続するシステムのキーのみが含まれていることを確認します。次に例を示します:ssh remote_user@host
標準的でない方法でキー・ファイルを指定するには、接続時に-I
オプションを使用することで、使用するキー・ファイルを指定します。
ssh -i $HOME/.ssh/my_private_key remote_user@host
詳細は、ssh-copy-id(1)
、ssh-keygen(1)
およびssh_config(5)
の各マニュアル・ページを参照してください。