ドメイン名なしで内部的にホスト名を介してサーバーにSSHとして接続する方法は?

ドメイン名なしで内部的にホスト名を介してサーバーにSSHとして接続する方法は?

作業を完了するには、職場で複数のサーバーにログインする必要があります。アクセスしようとしているサーバーのFQDNを入力するのに疲れました。私たちのプライベートネットワークでSSH経由でログイン/アウトしています。私はそれが私たち自身のプライベートネットワークにあると99%確信しています。 b / cすべてのサーバーのIPアドレスは10.xyzです。ドメイン名の代わりにホスト名のみを使用してサーバーにSSHとして接続する方法はありますか?

私たちは複数の国にサーバーを持っています。私たちのサーバー命名方式は非常に長いです。次のように名前が付けられます。

hostname.country.domainname.com

手首トンネルができますね。 ssh [email protected]

...私たちのサーバーの1つにアクセスするたびに。アメリカにいてアメリカにいる他のホストにアクセスしようとすると、入力するだけでうまくssh me@hostname2接続されます。しかし、アメリカにいて英国のサーバーに接続しようとすると。ssh [email protected]hostname3

私が行った回避策は、~/.ssh/configファイルで特定のサーバーのエイリアスを設定することでした。しかし、このファイルに1000を超えるサーバーを追加することは可能ではないと思います。私は20を超えるサーバーを追加し、同僚は私が狂ったと思います。彼らはsshの周りにFQDNを入力することに狂ったと思っています。

毎回domainname.comを入力する必要がないように設定する簡単な方法はありますか?

ベストアンサー1

%h構成にワイルドカードを使用できます。

例えば

Host *.eng
  Hostname %h.domainname.com

これでこれを行うと、にssh foo.eng接続しようとしますfoo.eng.domainname.com

この設定にユーザー名を強制するなどの他のオプションを追加することもできます。

Host *.eng
  Hostname %h.domainname.com
  User me

これでこれを行うと、ユーザーとして接続しようとしますssh foo.engfoo.eng.domainname.comme

% ssh foo.eng
ssh: Could not resolve hostname foo.eng.domainname.com: Name or service not known

(まあ、有効なホスト名ではない前にエラーが発生したようです!)

したがって、国ごとに1つのルールしか必要ありません。

おすすめ記事