macOSからRocky LinuxへパスワードなしでSSH接続する方法

この記事では、SSHでパスワードなしでログインする方法を紹介します。

macOSからRocky Linuxにパスワードなしでログインするには、SSH公開鍵認証を設定します。この場合、秘密鍵の名前はid_rsa_rockyとします。

手順

鍵の生成(必要に応じて)

macOSで、id_rsa_rockyという名前の鍵がまだない場合は生成します。

bash
ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa_rocky

  • -t rsa:RSA鍵を指定
  • -b 4096:鍵の長さを指定(4096ビット)
  • -f ~/.ssh/id_rsa_rocky:鍵のファイル名を指定

パスフレーズを求められた場合は、空のままEnterを押すと、パスワードなしでログインできます。

公開鍵をRocky Linuxに転送

次に、公開鍵をRocky Linuxにコピーします。

bash
ssh-copy-id -i ~/.ssh/id_rsa_rocky.pub user@rocky-linux-host

  • ~/.ssh/id_rsa_rocky.pub:生成した公開鍵
  • user@rocky-linux-host:Rocky Linuxのユーザー名とホスト名またはIPアドレス

Rocky Linux側での設定確認

公開鍵が正しく配置されていることを確認します。

ログイン後、~/.ssh/authorized_keysに公開鍵が追加されているか確認します。

bash
cat ~/.ssh/authorized_keys

SSHディレクトリとファイルのパーミッションを確認します。

bash
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

Rocky LinuxのSSH設定ファイル/etc/ssh/sshd_configに以下の設定が含まれているか確認します。

bash
sudo vi /etc/ssh/sshd_config

以下の行を探して確認または修正します:

bash
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
PasswordAuthentication yes
PermitRootLogin prohibit-password
ChallengeResponseAuthentication no

変更した場合はSSHサービスを再起動します:

bash
sudo systemctl restart sshd

macOSでSSH設定を更新

~/.ssh/configに設定を追加して、指定した鍵を使うようにします。
bash
vi ~/.ssh/config

以下の内容を追加します:

text
Host rocky-linux-host
    HostName rocky-linux-host
    User user
    IdentityFile ~/.ssh/id_rsa_rocky

  • Host:任意のホスト名(短縮名として使えます)
  • HostName:Rocky Linuxのホスト名またはIPアドレス
  • User:ログインに使用するユーザー名
  • IdentityFile:鍵ファイルのパス

保存後、ファイルのパーミッションを確認します。

bash
chmod 600 ~/.ssh/config

接続テスト

以下のコマンドで接続をテストします。

bash
ssh rocky-linux-host

問題がなければパスワードなしでログインできます。

SSH設定を変更してディレクトリ権限の制限を緩和する

通常、サーバー側の /home/rocky はディレクトリ権限を700にする必要があります。そうしないと、パスワードを要求されてしまいます。何かの理由でホームディレクトリを700にできない場合、SSHが公開鍵認証を許可するように設定を調整することが可能です。以下の手順で対応してください。

解決方法

SSHの設定で、ディレクトリ権限の厳密なチェックを無効化できます。ただし、これはセキュリティリスクを伴うため注意が必要です。

SSH設定ファイルを編集します。

bash
sudo vi /etc/ssh/sshd_config

次の設定を追加または変更します:

text
StrictModes no

  • この設定を有効にすると、authorized_keysファイルの権限が厳密にはチェックされなくなります。

SSHサービスを再起動します。

bash
sudo systemctl restart sshd

関連記事

 
最後までご覧いただきありがとうございます!

▼ 記事に関するご質問やお仕事のご相談は以下よりお願いいたします。
お問い合わせフォーム

Python学習にオススメの本をご紹介!
Pandasでデータサイエンスはじめよう!
スクレイピングにオススメの書籍

▼ Beautiful Soup4を使ったWebクローリングをはじめ、表データをpandasやOpenPyXL、matplotでデータ解析、グラフ表示などのスクレイピングのやり方が分かりやすく説明されてます。図解が多いのでPython初心者の方でも読み進められる内容となってます。