Linux の SSH 無密登入の設定方法

リモートからLinuxにSSHで秘密鍵認証でログインするためには、以下の手順を行います。

  1. クライアント側に公開鍵と秘密鍵を作成する。ssh-keygen コマンドを使用できます。ターミナルに次のコマンドを入力します。
ssh-keygen -t rsa

プロンプトに従って、公開鍵と秘密鍵を保存するパスを選択し、パスワードを設定してください(空にしても構いません)。

  1. ターミナルで次のコマンドを入力します。ssh-copy-id コマンドによって実施できます。サーバー上の~/.ssh/authorized_keysファイルにパブリックキーをコピーします。
ssh-copy-id username@server_ip

この中で、username はサーバー上のユーザー名で、server_ip はサーバーの IP アドレスです。

  1. サーバーのパスワードを入力し、公開鍵をサーバーにコピーする。
  2. 上記の手順でパスワードなしでのsshログインが可能になりました。

サーバーの ~/.ssh ディレクトリのパーミッションが不正な場合、秘密鍵認証によるログインに失敗する可能性があるので注意。サーバーの ~/.ssh ディレクトリのパーミッションを 700、~/.ssh/authorized_keys ファイルのパーミッションを 600 に設定しておきましょう。

さらに、複数のサーバーに鍵なしアクセスでログインしたい場合は、上記の手順を繰り返して公開鍵を各サーバーにコピーしてください。

bannerAds