🖥

ssh_config とは > コマンド入力の手間を省いてくれるエイリアス設定

2023/08/26に公開

ssh_config とは

単なるエイリアス設定のようなものだ、と考えるのが分かりやすいと思う。(単純な使い方では)
「これを書くことで、魔法のようにどこかにアクセスできるようになる」わけではない。

基本

たとえば、以下のコマンドでアクセスできる接続先があるとする。

ssh example.com
Hi yuma! welcome to example.com

設定

ssh_configを書くと、この example.com に対して、別名でアクセスできるようになる。

~/.ssh/config
Host my_favorite_server
  HostName example.com

Host と Hostname があって、どっちがどっちだよ! って非常に分かりにくいと思うが、

  • 先頭に書く Host がエイリアスの名前
  • Hostname が実際の接続先

という書き方だ。

実行

ssh my_favorite_server
Hi yuma! welcome to example.com

バリエーション

これはエイリアスみたいなものなので、同じ接続先への設定を、いくつも書くことも出来る。
使える文字もわりと自由だ。

~/.ssh/config
Host my_favorite_server
  HostName example.com

Host Hey~Jude-don't-let-me-down
  HostName example.com

どちらでも同じ結果。

ssh my_favorite_server
Hi yuma! welcome to example.com
ssh "Hey~Jude-don't-let-me-down"
Hi yuma! welcome to example.com

接続先の上書き

エイリアスに別の接続先(かのように見えるような文字列)を書くことも出来てしまう。
この場合はエイリアスが優先されて、本来の接続先には、普通にはアクセスできなくなってしまうので注意だ。

~/.ssh/config
Host example.net
  HostName example.com

example.net にアクセスしようとしたはずなのに....

ssh example.net

example.com にアクセスしてしまう。

Hi yuma! welcome to example.com

(挙動が分かってさえいれば、使い所があると思う)

デフォルトの指定

デフォルトのユーザーなどを指定できる。

~/.ssh/config
Host my_favorite_server
  HostName example.com
  User inaura

ログインユーザーが変わる。

ssh my_favorite_server
Hi inaura! welcome to example.com

ただし、コマンドの指定の方が優先される。

ssh yuma@my_favorite_server
Hi yuma! welcome to example.com

他にも

  • 秘密鍵のパスを指定できたり、色々出来るので調べてみてください。

チャットメンバー募集

何か質問、悩み事、相談などあればLINEオープンチャットもご利用ください。

https://line.me/ti/g2/eEPltQ6Tzh3pYAZV8JXKZqc7PJ6L0rpm573dcQ

Twitter

https://twitter.com/YumaInaura

公開日時

2017-03-17

Discussion