サーバーもクライアントも mac の場合の ssh の設定

2025/07/09
Daisuke TOMINAGA

環境条件

クライアント側

  1. 鍵ペアを作る
    1. ssh 用のパスフレーズを考えておく。 サーバーにログインするたびに入力するので打ちやすく覚えやすいものにする。
    2. コマンド実行
      ssh-keygen -t ed25519 -C "メールアドレス"
      少しやり取りが発生する。その途中でパスフレーズを聞かれるので、 決めていたものを入れる。これで ~/.sshid_ed25519id_ed25519.pub ができる。
  2. id_ed25519.pub をUSBメモリか何かに入れてサーバーのある部屋に、ひそかに持っていく。
なおパスフレーズは以下の要領でキーチェーンに登録できる。
  ssh-agent -s &
  vi ~/.ssh/config
   AddKeysToAgent yes
   UseKeychain yes
   の二行を追加
  ssh-add --apple-use-keychain ~/.ssh/ed25519

サーバー側

  1. サーバーマシンに固定IPを割り振る。
  2. クライアントの公開鍵を保存する。
    mkdir ~/.ssh
    chmod 700 ~/.ssh
    cat クライアントで作ったid_ed25519.pub >> ~/.ssh/authorized_keys
    chmod 600 ~/.ssh/authorized_keys
  3. クライアントから持ってきたUSBメモリ内の id_ed25519.pub を復元できないように消す。
  4. ssh を受け付ける設定にする
  5. 眠らない設定にする

確認

サーバーマシンが普通ならスリープする頃を狙って、クライアントから ssh でログインしてみる。クライアントの ~/.ssh/config を以下のように書いておくと ssh machine でログインできて便利。

Host machine
  HostName 123.456.78.90
  User watashi
  IdentityFile ~/.ssh/id_ed25519
  Port 22

以上