サーバーもクライアントも mac の場合の ssh の設定
2025/07/09
Daisuke TOMINAGA
環境条件
- macOS Sequoia 15.5(24F74)
- サーバーは有線LAN上の固定IPでネットワーク接続
- クライアントはなんかしら IP reachable
クライアント側
- 鍵ペアを作る
- ssh 用のパスフレーズを考えておく。
サーバーにログインするたびに入力するので打ちやすく覚えやすいものにする。
- コマンド実行
ssh-keygen -t ed25519 -C "メールアドレス"
少しやり取りが発生する。その途中でパスフレーズを聞かれるので、
決めていたものを入れる。これで ~/.ssh に id_ed25519 と
id_ed25519.pub ができる。
- id_ed25519.pub
をUSBメモリか何かに入れてサーバーのある部屋に、ひそかに持っていく。
なおパスフレーズは以下の要領でキーチェーンに登録できる。
ssh-agent -s &
vi ~/.ssh/config
AddKeysToAgent yes
UseKeychain yes
の二行を追加
ssh-add --apple-use-keychain ~/.ssh/ed25519
サーバー側
- サーバーマシンに固定IPを割り振る。
- システム設定 > ネットワーク
→ Wi-Fi は OFF にする。
→ Ethernet > 詳細 でTCP/IPを手動で設定する。
- クライアントの公開鍵を保存する。
mkdir ~/.ssh
chmod 700 ~/.ssh
cat クライアントで作ったid_ed25519.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
- クライアントから持ってきたUSBメモリ内の id_ed25519.pub
を復元できないように消す。
- ssh を受け付ける設定にする
- システム設定 > ネットワーク > ファイアウォール
→ ON にしてオプションを確認する。
- システム設定 > 一般 > 共有 > リモートログイン
→ ON にして、i
を押して受け付けるユーザーやフルディスクアクセスの有無を設定する。
- 眠らない設定にする
- システム設定 > エネルギー
→ 「ディスプレイがオフの時に自動でスリープさせない」をONにする
→ 「ネットワークアクセスによるスリープ解除」をONにする。
- システム設定 > ロック画面
→ 「使用していない場合はスクリーンセイバーを開始」をOFFにする。
確認
サーバーマシンが普通ならスリープする頃を狙って、クライアントから ssh
でログインしてみる。クライアントの ~/.ssh/config
を以下のように書いておくと ssh machine でログインできて便利。
Host machine
HostName 123.456.78.90
User watashi
IdentityFile ~/.ssh/id_ed25519
Port 22
以上