アメリエフの技術ブログ

Amelieff Staff Blog

サーバへのログインを手軽に!【.ssh/config】


f:id:iijm-l:20200622113836p:plain
Macでお仕事してます、iijm-lです🍎

仕事中多くのサーバーを行ったり来たりするのですが、サーバのIPアドレスが覚えられず、いちいち調べて入るのが結構大変だと感じた私。
「なんかいい方法ないかな〜」と調べてから、ずっと使っている方法をお教えします💡


サーバーへログインする時の基本操作


サーバに接続するにはsshコマンドを使います。
sshについては、過去のアメリエフブログにまとめられているのでぜひ見てください✨
楽しくコマンドを覚える・4

今回接続するサーバの情報はこんな感じ。

IPアドレス ユーザー名
192.168.10.1 iijm-l


いつも通りにログインしようとすると、以下のようなコマンドになりますね。

$ ssh iijm-l@192.168.10.1
iijm-l@192.168.10.1's password: 
Last login: ~~~


無事ログインが成功できます。
IPアドレスって長いし、サーバ同士で似てるんですよね...。覚えられない🥺


sshログインの設定ファイル:.ssh/config

実は、sshするときに読み込まれる設定ファイルがあるんです。
それが、.ssh/configファイルです。
このファイルにサーバの情報を記憶させておくと、入力を省略できるようになるのです。

.sshディレクトリは、ホームディレクトリ(~/)下にあると思います。
隠しディレクトリなので見つけづらいですが...。

$ ls ~/.ssh/
config      id_rsa      id_rsa.pub  known_hosts

見つからない場合は、以下のように作成することで次回から自動で読み込まれますよ!

# .sshディレクトリを新しく作成する
$ mkdir ~/.ssh
# .sshディレクトリの権限を変更する
$ chmod 700 .ssh
# .ssh/configを新しく作成する
$ touch ~/.ssh/config



パスワードでログイン

~/.ssh/configにサーバの情報を記入します。

$ vi ~/.ssh/config
Host test
  HostName    192.168.10.1
  User        iijm-l

記載する内容は、以下のとおりです。

  • Host:サーバの名前。sshでログインするときに使用する。好きな名前でOK。
  • HostName:サーバのIPアドレス。
  • User:サーバに接続する時のユーザ。


これを保存し、先ほどつけたサーバー名testを使って、ログインしてみます。

$ ssh test  # ssh iijm-l@192.168.10.1と同じ意味
iijm-l@192.168.10.1's password: 
Last login: ~~~

実行し、パスワードを入力すると、無事ログインが成功しました🌟

公開鍵でログイン


公開鍵でログインする場合は、~/.ssh/configに秘密鍵の場所を記憶させておきます。
(※事前に接続先のサーバにて、公開鍵を登録しておく必要があります。)
IdentityFileの項目を増やし、ログイン時に使用する秘密鍵のファイルパスを記入します。

$ vi ~/.ssh/config
Host test
  HostName    192.168.10.1
  User        iijm-l
  IdentityFile ~/.ssh/id_rsa

これを保存し、先ほどつけたサーバー名testを使って、ログインしてみます。

$ ssh test  # ssh i ~/.ssh/id_rsa iijm-l@192.168.10.1と同じ意味
Last login: ~~~

実行すると、このコマンドだけでログインが成功しました🌟
本来はかなり長いコマンドを打つ必要がありますが、これなら💫1秒💫でログインできますね!!

まとめ

~/.ssh/configを使って、sshログインすると

  • 接続先をIPアドレスではなく、サーバー名で指定できる
  • ユーザー名とパスワードの入力が不要になる


少しでも楽にログインできるようになりたい方は、ぜひお試しください😊!