Linux で SSH パスワードなしのログインを設定するには、次の手順に従います。
ステップ 1: キー ペアを生成する
ローカル コンピューター上でキー ペアを生成します。1 つは秘密キー (秘密キー)、もう 1 つは公開キー (公開キー) です。ターミナルで次のコマンドを実行します。
ssh-keygen -t rsa
このコマンドは、RSA タイプのキー ペアを生成します。プロンプトに従ってキーの保存場所を選択し、オプションのパスフレーズを設定します。
ステップ 2: 公開キーをターゲット サーバーにコピーする
次のコマンドを使用して公開キーをターゲット サーバーにコピーし、 <remote_username>
と を <remote_server>
ターゲット サーバーのユーザー名と IP アドレスに置き換えます。
ssh-copy-id <remote_username>@<remote_server>
このコマンドは、ローカル コンピューター上の公開キーを ~/.ssh/authorized_keys
ターゲット サーバー上のファイルにコピーします。確認のためにターゲット サーバーのパスワードの入力が必要になる場合があります。
ステップ 3: パスワードなしのログインをテストする
ここで、パスワードなしのログインに SSH を使用してみることができます。端末で次のコマンドを実行します。 <remote_username>
と は <remote_server>
ターゲット サーバーのユーザー名と IP アドレスに置き換えます。
ssh <remote_username>@<remote_server>
すべてが正しく設定されている場合は、パスワードを入力せずにターゲット サーバーに直接ログインできます。
ステップ 4: オプションの構成
セキュリティをさらに強化したい場合は、いくつかのオプションの構成を実行できます。
まず、ターゲット サーバー上の /etc/ssh/sshd_config
ファイル内で次の行が正しい状態であることを確認します。
PubkeyAuthentication yes
PasswordAuthentication no
次に、SSH サービスを再起動して変更を有効にします。
sudo service ssh restart
このようにすると、SSH は公開キーを使用した認証のみを許可し、パスワードによるログインは許可されなくなります。
さらに、キーがデフォルト以外の場所に保存されている場合は、 ~/.ssh/config
ローカル コンピューター上のファイルに次の行を追加することでキーの場所を指定できます。
Host <remote_server>
IdentityFile /path/to/private_key
上記の構成では、 <remote_server>
ターゲット サーバーの IP アドレスまたはホスト名を /path/to/private_key
秘密キー ファイルへのパスに置き換えます。
上記は、Linux 構成の簡単な SSH パスワード不要ログイン チュートリアルです。具体的な設定はOSのバージョンやセキュリティポリシーによって異なる場合があり、実際の状況に応じて調整・拡張することができます。より詳細な手順と構成オプションが必要な場合は、公式ドキュメントまたはその他の信頼できるチュートリアル リソースを参照することをお勧めします。