多くの場合、最初のSSH接続を介して直接アクセスできないファイルをダウンロードする必要があります。たとえば、私はWindowsマシンを使用していて、LANからのみアクセスできる別のマシンにアクセスしたいと考えています。つまり、最初に中間マシンに接続し、次のマシンにSSHで接続する必要があります。
ファイルが最初のマシンで使用可能であれば、pscpを使用してファイルを取得するのは簡単です。このシナリオでSSHポートフォワーディングを使用できますか?
承認された回答:
はい、この場合はSSHポートフォワーディングを使用できますが、これを試みると、無効または不正なホストキーに関する警告が表示されることもあります。 OpenSSHなどの一部のSSHクライアントは、ドメインまたはIPのみでSSHホストキーを追跡し、ポート番号を含めません。 PuTTYは、ホストキーを使用してポート番号を記録しているように見えます。各ホストに使用するポート番号と一致している限り、この問題が発生することはありません。 PuTTYに保存されているセッションにポート転送を追加することをお勧めします。次に、さまざまなリモートホストの追加セッションを保存済みセッションとして保存し、それをpscp/psftpで使用することもできます。 2220などの転送用の任意の多数のポートから開始し、中間ホストを介して転送する必要があるホストごとに、そこから1つずつ上に移動できます。 intermediate
の保存済みセッションに追加します ローカルポートはポート2220
のように転送します および宛先remote1:22
およびポート2221
宛先remote2:22
を使用 リモートホストの場合remote1
およびremote2
次に、remote1
のセッションを作成します 宛先localhost
を使用 およびSSHポート2220
およびremote2
のセッション 宛先localhost
を使用 およびSSHポート2221
。 pcsp / psftpでセッションを使用するには、@session-name
を使用します ホストのために。
この問題は、SSHホストキーをローカルホストに関連付けて、別のコンピューターに転送されているローカルポートに接続しようとした場合に発生します。 OpenSSHで、HostKeyAlias
を使用してこの問題を修正しました 。 ~/.ssh/config
にエントリを追加しました このように:
Host intermediate
HostName intermediate.example.org
LocalForward 2220 remote1.example.org:22
LocalForward 2222 remote2.example.org:22
Host remote1
HostName localhost
Port 2220
HostKeyAlias remote1.example.org
Host remote2
HostName localhost
Port 2221
HostKeyAlias remote2.example.org
ただし、私の好みの修正は、自宅と職場のネットワークにIPv6を導入し、最終的な宛先に到達するために最初に中間サーバーに接続することを心配する必要がなくなったときでした。
関連:Linux – Mint 17がUbuntuだと思った場合、深刻なリスクはありますか?