web-dev-qa-db-ja.com

ファイル内の他の場所にあるサーバーへの接続を使用してsshをマルチホップする方法

私はubuntuが初めてで、ファイルアプリケーションの機能を使用してサーバーをファイルの場所に追加しようとしていますが、別のサーバーからアクセスする必要があります。

以下に赤で示した[サーバーへの接続]セクションのssh://[email protected]を使用して、サーバーAに接続できました(プライバシー保護のために黒塗り)。サーバーAを介してサーバーBに接続したいのですが、ここでこれを行うことはできますか、それとも端末経由でのみ行うことはできますか?これにより、ファイルのコピーが少し簡単になります。

enter image description here

3
Jonathan Porter

Ubuntuマシンの~/.ssh/configに次を追加できます。

 Host serverB-proxied
   Hostname serverB  # the real hostname of serverB
   User username     # this is the username on serverB
   ProxyCommand ssh -W %h:%p user@serverA

次に、これをファイルのURLとして使用します。

ssh://serverB-proxied/

(serverAのsshdでTCP転送が無効になっていない場合にのみ機能します。)

2
Sebastian Stark

方法の1つは、ポート転送を使用することです。これには、端末の使用が含まれます。次のようにServerAからServerBへのトンネルを作成する場合:

ssh -L 127.0.0.1:222:ServerB:22 user@ServerA

説明:sshはローカルポート222を作成します(これをローカルホストで使用されていないポートに変更できます)-そして127.0.0.1のみにバインドします-これはすべてのトラフィックをlocalhost:222からServerA経由でポート22に転送しますServerAにログオンした後、ServerBで。

その後、ファイルアプリをssh:// user @ localhost:222に接続します

これは、シームレスな再接続のためのsshキーを持つ起動スクリプトとして設定できます。

1
OnkelJ