👻

ssh のエイリアス登録

2023/12/12に公開

ssh接続のエイリアス登録の方法を紹介します。
業務で踏み台サーバにログインする際などIPアドレスをいちいち調べるのが面倒なので、エイリアス登録しました。

前提

環境としてはMac、zshを使用している場合の設定手順です。
この記事では鍵は ~./ssh/id_rsaを使用します。 接続先のサーバ側へ必要な設定を終えている状態とします。

エイリアス使わずに ssh接続

エイリアスなしで接続する場合 ssh -i ~/.ssh/id_rsa user@xxx.xx.xx.xx のようにTerminalで指定して実行します。

毎回、sshのコマンドを実行した時の問題として以下のようなものが挙げられます。

  • IPアドレス覚えてない
  • ユーザー名これでよかったっけ
  • 使用する鍵これであってたっけ

自分は覚えられない、どうせ間違う、めんどくさいのでエイリアスに登録することにしました。

エイリアスの登録方法

一般的にsshのエイリアスを登録する場所としては ~/.ssh/config のファイルに登録します。

vim ~/.ssh/config

設定がなければ空のファイルになるので、Vimのinsertモードでエイリアスを追加します。

追加する内容としては以下です。

Host エイリアス名
  HostName リモートのホスト名、または、IPアドレス
  User リモートユーザー名
  Port ポート名 (サーバ側のssh接続ポートがデフォルトであれば指定不要)
  IdentityFile 秘密鍵の絶対パス

例えば、99.99.99.99のIPアドレスのサーバへ接続する際のエイリアスとして my-server`を登録したい場合は以下のように記載します。

Host my-server
  HostName  99.99.99.99
  User user
  IdentityFile ~/.ssh/id_rsa

登録の完了後にエイリアスを使用してssh接続を行う場合は以下のコマンドを実行します。

ssh my-server(登録したエイリアス名)

接続先のサーバに入れれば、以降エイリアスを用いてサーバ接続で良いです。
複数サーバ分確実にIPを覚えられる気がしないので、接続の初回に登録しています。

(参考)エイリアス登録方法

ssh の configファイルにエイリアスを登録する以外にも、方法があります。

vimrc に定義する方法です。
例えば以下のように定義すれば config ファイルへ登録するのと同様のことは実現できます。

alias ssh_myserver="ssh -i ~/.ssh/id_rsa user@99.99.99.99"

# 接続実行時
ssh_myserver

ただし、vimrc にはzshの設定や他にもよく使うコマンドのエイリアスも保存していることが多いと思います。

全てのエイリアスを vimrc へ保存してしまうとvimrcが肥大化してしまい管理工数が上がるということは理解しておく必要があります。
1箇所で管理ができる方がという意見もあると思うので、その辺りは個々人の好みに合わせて設定しみてください。

Discussion