web-dev-qa-db-ja.com

sshホスト名リクエストの最後にドメインを追加するようにubuntuを構成できますか?

私には多くのサーバーがあり、それらはすべて同じservers.company.netで終わるので、たとえばvded-xx-001.servers.company.netで、vded- xx-001そして、servers.company.netを自動的に追加しますか?

だから私はタイプしたいと思う

ssh user@vded-xx-001

実際に接続させます

ssh [email protected]

DNS検索ドメインを/ etc/network/interfacesのservers.company.netに設定しようとしましたが、これで目的の結果が得られませんでした。

私を正しい方向に向けることができる人はいますか?

前もって感謝します

8

おそらくこれをすでに解決しているかもしれませんが、おそらく後でそれが誰かを助ける可能性があります:resolv.confをいじる必要はなく、〜/ .ssh/configでこのようなものを使用するだけです:

Host vded-*-001 test-*-something-fixed-*
        HostName %h.servers.company.net
        User someusername

したがって、後で使用することができます:

ssh vdev-alotofstuff-001
ssh vdev-somethingels-001
ssh test-02-something-fixed-somethingelse

よろしく、

18
Mauricio

これが最も簡単な解決策です。すべてのホストで機能し、ルートやDNS /リゾルバーシステムへのアクセスは必要ありません。

~/.ssh/configファイルの先頭に追加します(または、まだ存在しない場合は作成します)。

CanonicalizeHostname yes
CanonicalDomains servers.company.net

ドキュメント( man 5 ssh_config ):

CanonicalizeHostname

明示的なホスト名の正規化を実行するかどうかを制御します。デフォルトnoは、名前の書き換えを実行せず、システムリゾルバにすべてのホスト名検索を処理させます。 yesに設定した場合、ProxyCommandを使用しない接続の場合、sshは、CanonicalDomainsサフィックスとCanonicalizePermittedCNAMEsルール。 CanonicalizeHostnamealwaysに設定されている場合、正規化はプロキシ接続に適用されますも。

このオプションが有効になっている場合、構成ファイルは新しいターゲット名を使用して再び処理され、HostおよびMatchスタンザ。

4
OrangeDog

はい、~/.ssh/configという名前の設定ファイルを作成し、次の内容を入力することでこれを実行できます。

Host vded-xx-001
User user
Port 22
HostName vded-xx-001.servers.company.net

これを入力するだけです(ユーザー名はもう必要ありません):

$ ssh vded-xx-001

これは、コマンドラインユーティリティscpでも機能します。

$ scp filename vded-xx-001:/path/
2
Flimm

私の問題の解決策は、検索ドメインをresolv.confに追加することでした:

search servers.company.net

これにより、私は入ることができました

ssh user@vded-xx-001

私のサーバーのいずれかとそれは正しいアドレスに接続します。

答えてくれてありがとう@Hennes

2

SSH IDを使用している場合-そしてその多くのサーバーを見る価値がある-そして、OrangeDogがCanonicaliseHostnameとCanonicaliseDomainsを設定すると、既知のホストの@ cert-authorityエントリへの一致も有効になります

known_hostsエントリ@ cert-authority * .example.com ssh-rsa AAAddadfkjaeio ...

canonicaliseオプションなしでは、「ssh Host.example.com」を使用する必要があります。

Canonicaliseオプションを使用すると、「ssh myhost」が一致します。

担当者が許可した場合、これをOrangeDogsの回答へのコメントとして追加しました...

1
Richard N

システム全体のドメイン名解決のために、ネットワークで一度設定するのが好きです。 DHCPサーバーでドメイン名とDNSサーバーを設定して、すべてのマシンにresolv.conf

  • プライマリDNSサーバーIP
  • ドメイン
  • 検索ディレクティブ

これは、DHCPサーバーと必要なネットワーク構成に依存します...ネットワークに一般的な何かがある場合、私は個人的にマシンのカスタム構成が好きではありません

0

さまざまなプログラムで動作する迅速な解決策として、vded-xx-001を編集して次のような行を含めることにより、特定のIPアドレスにリダイレクトするようにドメイン/etc/hostsを設定することもできます。

173.194.41.90  vded-xx-001

これはブラウザで動作します:http://vded-xx-001/

SSHのようなコマンドラインユーティリティと同様:

$ ssh user@vded-xx-001

(私は個人的に SSH構成ソリューション を好む。)

0
Flimm