Macで複数サーバへのSSH接続時に鍵を使い分ける方法
自宅で使っている端末をWindowsからMacにして半年ほど経ちましたが、Windowsとの違いで未だ戸惑うことがあります。
今回はMacから鍵交換方式で複数のサーバにSSH接続する方法です。(サーバによって鍵を使い分ける)
前提など
鍵の作成、公開鍵のサーバ設置などは実施済みの前提です 。
クラウド上のサーバは複数管理しているので、その全てに鍵交換方式のSSHで接続します。
例としてサーバA、サーバB用に秘密鍵A、秘密鍵Bを作成するという前提で記載します。
クライアントは「iTerm」を使ってます。
はじめに
Windowsの場合は「Tera Term」でSSH接続した際に秘密鍵を選べば接続できます。
接続するサーバに応じて秘密鍵を選べば、他には特に意識せずに複数のサーバに接続できます。
Mac(というかiTerm)では、SSH接続するときに特に鍵を選ぶダイアログなどは表示されません。
デフォルトで参照する秘密鍵は以下です。
/Users/ユーザ名/.ssh/id_rsa
サーバA、サーバBいずれに接続した場合も上記の鍵を参照します。たぶん。
設定方法
接続先のサーバによって秘密鍵を使い分けるには、以下のファイル(config)を作成します。
/Users/ユーザ名/.ssh/config
斜体&赤文字が環境に応じて変更する箇所です。
Host ホスト名orIPアドレス
HostName ホスト名orIPアドレス
Port ポート番号
User SSHユーザ名
IdentityFile 秘密鍵のパス
サーバAとサーバBの定義例は以下のような感じになります。
Host サーバAのIP or ホスト名
HostName サーバAのIP or ホスト名
Port 22
User root
Host サーバBのIP or ホスト名
HostName サーバBのIP or ホスト名
Port 22
User root