以下省略!

タイダルウ(ry ほぼ毎日1記事執筆運動実施中。 ※記事に広告(アフィリエイト)リンクを掲載している場合があります。

楽にSSHに繋がるようにしたのでメモ

f:id:abyssluke:20160925120014j:plain:w200:leftsshコマンドで接続するとき、いつもオプションなりいろいろ指定してつないでいたが、あらかじめ~/.ssh/configで設定しておけば短いコマンド入力だけで接続できるようになる。わざわざ~/.bash_history内をgrepしてコピペしてペーストしてENTERしなくても済むんや!(※自分の話です)
というわけでその方法を書く。

Before(設定前)

10.0.0.1:10022にasbelというユーザーで鍵認証(~/.ssh/id_ecdsa)してログインする例。

$ ssh -i ~/.ssh/id_ecdsa -p 10022 asbel@10.0.0.1

設定

~/.ssh/configを開く。なければ作る。
そして以下のような内容を書く。

Host lhant
 HostName 10.0.0.1
 Port 10022
 User asbel
 IdentityFile ~/.ssh/id_ecdsa

Hostにはエイリアス名(この名前を接続先として入力したら以下の内容で接続するという意味)を入れる。HostNameと同じでも大丈夫なはず。
HostName、Portはそれぞれ実際に接続するサーバーの接続先、SSHサーバーのポート。
Userはログインユーザー(@より前)。
IdentityFileは秘密鍵ファイル。

必要に応じてオプション(圧縮やポートフォワーディングなど)を追加することも可能。常時圧縮して接続したいなど、予め設定したいオプションは.ssh/configに書いておくといいかも。オプション一覧などは以下参照。
参照: SSH_CONFIG (5)

もちろんHostは複数定義可能なので複数のサーバーを管理している人でも大丈夫。

After(設定後)

$ ssh lhant

事前に設定しておけばこれだけでBeforeと同じように接続できる。

蛇足

画像にある文字($ ssh hoge)とAfterの文字($ ssh lhant)が一致しないが、これは画像を作ったあとふと「例をアスベルにしよう」と思って記事を書き換えたため。
作りなおすのもめんどくさいので画像はそのままにしてある。