ポート付きIPでsshでDNS設定を変更できますか?

ポート付きIPでsshでDNS設定を変更できますか?

ポート転送機能を備えたVPNを使用してサーバーを実行しています。このIPは「12345」ポートを介してのみ外部インターネットにアクセスできます。したがって、サーバーに接続するには、「111.111.111.111:12345」または「example.com:12345」を介してアクセスする必要があります。

サーバーへのSSH接続に使用できるように、ドメインを「ssh.example.com」に設定できるURL転送(リダイレクト)またはDNSタイプレコードを設定できるかどうか疑問に思います。

次のコマンドを実行したいと思います。

ssh [email protected]

答え1

使用できるSSH構成ファイル~/.ssh/config設定するには:

Host ssh.example.com
    Hostname 111.111.111.111
    Port 12345

これにより、これを使用してサーバーに接続できます。ssh [email protected]

たとえば、より多くのSSHオプションを追加することもできますので、User入力する必要はありません。

DNSを使用してこれを行うには、ファイルに次の行を追加するだけです/etc/hosts

111.111.111.111 ssh.example.com

SSH コマンドは次のとおりです。ssh -p 12345 [email protected]

答え2

簡単な答えは「いいえ」です。少なくともすべての顧客に該当するわけではありません。 SSHにはHTTPなどの配信メカニズムはありません。 DNSドメイン名はIPを持っているがポート番号はないAまたはAAAAレコードを使用します。 SSHクライアントにはポート22のみが必要です。

DNSにはこの目的のために設計されたSRVレコードがあり、ポート番号も含まれていますが、多くのクライアントはこれをまったく確認しません。

将来のある時点では、すべてのSSHクライアントが実際にSRVレコードを確認して使用することができますが、この記事を書いている時点では、LinuxのOpenSSHとWindowsのPuttyはそうではないと思います。 OSX / MacOSがこの機能をサポートできるというあいまいな報告がありますが、確認することはできません(https://serverfault.com/q/1004793/94158)。

ただし、短いバージョンは、ポート22に接続しない場合は、接続時にそのポートを明示的に提供する必要があることです。

あなたはできますSSH構成を介してこのタスクを自動的に実行するようにSSHクライアントを構成します。 他の答えからわかるように。

答え3

いいえ。ただし、回避策としてDNS SRVレコードを使用してSSHポートを指定できます。残念ながら、これはSSHクライアントではサポートされていませんが、いくつかの回避策があります。 https://serverfault.com/questions/960733/dns-record-for-ssh-docker

答え4

(これは古い質問ですが、Serverfaultは今日この質問を最初のページに戻しました/ここの答えはそれを解決できないようです)。

サーバーへのSSH接続に使用できるように、ドメインを「ssh.example.com」に設定できるURL転送(リダイレクト)またはDNSタイプレコードを設定できるかどうか疑問に思います。

達成しようとするメカニズムを(存在しない)面で説明しようとする試みを控えて...

「example.com」をゲートウェイデバイスとして使用して、他のコンピュータ「ssh.example.com」にアクセスしたいようです。あなたが言う特定のポートは、「example.com」がIPルーターとして機能できないことを意味します。その場合、単にexample.com:12345をssh.example.com:22にプロキシすると問題の接続部分が解決されますが、これはexample.comの後ろにある単一のアドレス/ポートに対してのみ機能します。

SOCK や HTTP など、これらの多重化に対応するように設計された複数のプロキシプロトコルがあります。これを行うには、example.comに展開され、ポート12345でリッスンする適切なサーバーが必要です。ただし、(実装の選択をガイドするコンテキストなしで)SSHサーバーとリレーSSH接続を使用します(これはポート転送やその他のトリックも許可します)。たとえば、これをssh_configに追加すると、次のことができます。ssh [email protected]

Host example.com
   Port 12345
   User jumpuser

Host ssh.example.com
   ProxyCommand ssh -q -W %h:%p example.com

OTOH example.comにHTTPプロキシがある場合...

Host ssh.example.com
    ProxyCommand corkscrew example.com 12345 %h %p

DNSは、ルーティング/プロキシ/トンネリングの問題を解決するためのメカニズムを提供しません。

関連情報