macOSへのssh接続

ssh
環境構築
Author

Ryo Nakagami

Published

2024-12-16

What we want to do

  • 同じprivate networkに属しているmacOS端末に対して公開鍵認証を用いてssh接続したい

同じprovate networkに属している前提の端末へのsshになるので

ssh hoshinokirby@192.168.10.110

のように自宅内のネットワークのみで有効なプライベートIPアドレス(クラスC 192.168.0.0 ~ 192.168.255.255)を指定してアクセスすることを想定しています.

How to set up

▶  Server側

SSHサーバー側はopenssh-serverなりssh serverが動いている必要があります.

  1. System Preferences > Sharingをクリック
  2. Remote Loginを有効化

以上の2ステップで,macOS側のSSH serverをactive状態にすることができます.

▶  Client側

パスワード認証の場合は

  1. arpコマンドでアクセス先端末のプライベートIPアドレスを検索
  2. sshコマンドでアクセス

で完了となりますが,今回は公開鍵認証手順を紹介します.公開鍵認証の場合は

  1. SSH Key Pair の作成
  2. 公開鍵の登録(接続先のauthorized_keysファイル(~/.ssh/authorized_keys)に追加)
  3. sshコマンドでアクセスとなります
SSH Key Pair の作成
ssh-keygen -t rsa -b 4096 -f ~/.ssh/pupupu_land
  • -t rsa: key typeの指定
  • -b 4096: key lengthの指定(長いほどsecurity強固になる)
  • -f ~/.ssh/pupupu_land: key pairの生成先とファイル名(今回はpupupu_land, pupupu_land.pubが生成される)
公開鍵の登録
ssh-copy-id -i ~/.ssh/pupupu_land.pub username@<target-ip>
  • -i ~/.ssh/pupupu_land.pub: コピーする公開鍵ファイルを指定

公開鍵を登録するには,

  • 公開鍵のファイルをコピー
  • 接続先のauthorized_keysファイル(~/.ssh/authorized_keys)に追加
  • authorized_keysファイルがない場合は作成後に適切なパーミッションを設定

が必要となりますが,ssh-copy-idコマンドですべて自動実行することができるというメリットがあります.

▶  ssh connection

上記の設定後,sshコマンド実行することで,macOSへアクセスすることができます. 毎回プライベートIPアドレスを調べるのが億劫な場合,デバイスのMACアドレスがわかればarpコマンドで以下のように検索することもできます.

arp -a | grep <MAC-address> | awk -F'[()]' '{print $2}'