それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

SSHでログインするサーバーIP・ドメインを省略する

SSHでいつもIPを打ち間違いします。わかります。192.168..1101 とか、. (dot)の場所でよく間違います。打ち間違いにも対策があります。

ホスト名を省略する設定をする

~/.ssh/config
Host mt3 
  hostname 172.24.2.102

ホスト名を省略する設定を書いて楽ができます。

設定前
ssh 172.24.2.102
設定後
ssh mt3

ユーザー名も省略します

もちろん、ユーザー名も省略可能です

~/.ssh/config
Host mt3 
  hostname 172.24.2.102
  user root
設定前
ssh root@172.24.2.102
設定後
ssh mt3


かなりすっきりしますね。

サーバー名は自動補完します

サーバー名をいちいち入れるのも面倒です。そこでBash補完機能の拡張を使います。

bash-completion のインストール
sudo aptitude install bash-completion
echo source /etc/bash_completion >> ~/.bashrc
source ~/.bashrc

で補完を入れて、補完を有効にします。Macのばあいはbrew にあります。

補完されます。
ssh m<tab>
mt3 mt2 mt1

TABキーでサーバー名が補完されます、素晴らしいです。

サーバーIPアドレス

ちなみに、サーバーIPも補完されます!
~/.ssh/config に書いたサーバーIPも、補完の対象です。

ssh 192<tab>
192.168.2.111    192.168.2.110  192.168.2.112  192.168.2.119 3192.168.2.14   192.168.2.15    192.168.2.28

便利です。

ここまでssh_configのまとめ

ここまでで、SSHの入力が相当楽になりました。

最初、何もしない場合
ssh takuya_1st@192.168.2.11 -p 2200
~/.ssh/config の設定後
ssh  mt5
~/.ssh/config の設定
Host mt5
  hostname 192.168.2.11 
  user takuya_1st
  port 2200

この他にも、サーバー別に秘密鍵を変えることもできます→SSHホスト毎に別のユーザー名と鍵を使う

詳しくは、 man ssh_config を見ましょう。 コマンドで" man ssh_config" を打ち込みます。

さらに、入力を省略する

config だけで相当楽になりました、でもまだまだです!。もっと楽にすることができます。

aliaseを指定する。
alias mt5="ssh mt5"

これで、Aliasを指定すると、

mt5<Enter>

だけで、サーバーに繋ぐことができます。


とっても便利ですね。

参考資料

Amazon CAPTCHA

2016-11-22 更新

kamijin さんから指摘された表記抜けを修正した。kamijin さんありがとうございます。