【/etc/hosts】SSH接続をサーバの短縮名でできるようにする(DNS設定なし)

今回は、DNSレコード登録をしていないホストにIPアドレスなしで、SSH接続を簡単にする方法として、/etc/hostsの書き方を調べてみました。

本来、DNSレコードを登録していないサーバへの接続はIPアドレスで行う必要がありますが、IPを毎回調べたり、IPを打つのがめんどくさい(自分の場合はホームポジションから手を離さないと数字を入力できない。。。)ので、今回の設定でサーバ名や好きな名前で指定のサーバにSSH接続することができます

 

まず、パスワードを打たなくてもいいようにSSH公開鍵認証ができていることが前提になっていますので、設定方法については以下の記事をご覧ください。

【CentOS8で検証】SSH公開鍵認証は超簡単
今回は、SSH接続を公開鍵認証を使用して行ってみたいと思います。 いろいろなサーバに接続しだすとSSH接続やSCP、RSYNCの際に毎回パスワードを入力するのがめんどくさくなるので、そういう時に鍵登録をしておくことでノンパスで接続でき...

検証環境

用意するサーバは2台です。両方OSはCentOS8.2を使用しています。(両方とも、IPアドレスは固定しています)

  1. ホスト(踏み台などのメインで使用するサーバ)
  2. サーバ(実際にホストから接続を行う側)

 

1のホスト名をtest.server(192.168.3.100) , 2のホスト名をremote.server(192.168.3.200) とわかりやすくしておきます。
ちなみに、CentOS8の場合だとホスト名は”hostnamectl set-hostname ${ホスト名} & “reboot で変更できます。

実現したいこと

今回、実現したいのは踏み台用サーバ(test.server)から、リモートサーバ(remote.server)remoteというホスト名のみでSSH接続をさせることです。

(DNSでの名前解決は行いません。remote以外にも、remote.serverという名前でも接続できる様にします。)

 

/etc/hosts追記手順

全体概要

以下の順番で、検証を行います。

  1. test.server/etc/hostsremote.serverの情報を書き込む
  2. /etc/hostsに書き込んだ情報を元にtest.server -> remote.serverへのSSH接続を試みる
  3. IP指定なしにSSH接続ができることを確認

/etc/hosts修正

まずは、SSHする側のホスト(test.server)/etc/hostsにサーバ(remote.server)の情報を入力しましょう。

下を参考にしてください

基本的には、下のように記述しますが、IPアドレスとホスト名だけでもOKですし、IPアドレスとFQDNだけでも問題ありません。

IPアドレス 対象サーバのホスト名 対象サーバのFQDN(省略なしのドメイン名)
強いていうなら、IPアドレスさえ合っていれば、ホスト名は適当な名前でも問題ありません。

入力した情報でSSH接続できるかを確認

先ほど/etc/hostsに入力したホスト名・FQDNまたは、適当に設定した名前でSSH接続ができるかを確認します。

 

できました!!!

最後に

というわけで、今回は/etc/hostsの書き方・SSH接続できるまでの紹介でした。

自宅などのDNSサーバを設置していない環境では、ホスト名でログインできないと割と不便なことが多いと思うので、是非参考にしてみてください。

 

開発環境をより良くしようと最近は調べているので、便利なものを見つけ次第、どんどん発信していきたいと思います。

では〜〜〜

コメント