サーバーがローカルIPのみを受け入れるホームからのFTP接続のトンネリング


11

職場でFTPサーバーにアクセスする必要がありますが、サーバーはローカルIPのみを受け入れます。自宅のマシンからアクセスできません。PuTTYを介してUnix作業マシンにSSHで接続し、そこからFTPサーバーへのコンソールFTP接続を正常に開くことができました。

私はこれを処理することができましたが、それは私にとって非常に面倒なので、私はそれを望まないでしょう。PuTTYを介して作業マシンを介してFTP接続をトンネルしたいので、サーバーでFTPのニーズを達成するために、選択したFTPクライアントFileZillaを使用できます。もちろん、これはポート21経由です。

PuTTYはsshを介したポート転送に対応していることは知っていますが、その使用方法はわかりません。

ホーム->仕事->サーバー。


SOCKSプロキシ接続を介したアップロードとダウンロードには本質的に違いはありません。大きな違いは、家庭のインターネット接続は、ダウンロード(受信)パフォーマンスと比較して、アップロード(送信)パフォーマンスが低い可能性があることです。診断できるようにするには、さらに多くのログが必要になるでしょう。
EightBitTony

私はおそらく別の問題に完全に直面しているという結論に達し、この特定の問題に対処する新しい質問を作成することに取り組みます。EightBitTonyにご協力いただき、誠にありがとうございます。
Ben Jacobson

この質問を再利用するために、ここと同じ資格情報でサーバー障害アカウントを登録する必要があるかもしれません@ben
ランダム

回答:


13

SOCKSプロキシを使用します。

PuTTYウィンドウ

送信元ポートは(ローカルで)SOCKSプロキシになりました。SOCKSプロキシとして使用するようにFileZillaを構成します(以下を参照)。それを介してsshを実行するホスト(作業マシン)への接続を開き、そこから、指定したIPアドレスに接続します。SOCKSをサポートし、FTPを含むあらゆるものに対応します。

PuTTY構成の残りの部分は同じままです。ポートを(図のように)構成し、SSHを介してそのPuTTYセッションをWorkマシンに接続します。

FileZillaオプションは次のようになります。

ここに画像の説明を入力してください

FTP接続のターゲットを配置するときは、ホスト名ではなくIPアドレスを使用してください。DNS解決がローカルで行われる可能性があり、それが望ましくないためです。

全体は安全で目に見えません-ネットワーク上の他のものへの基本的なSSH接続のように見えます。

注:コマンドラインからこれを行う場合は、PuTTYを使用plink.exeして次のことを実行できます。

plink -ssh -D 9090 you@your.work.laptop.example

PuTTYプロファイルを作成したり、GUIを使用したりすることなく、同じことを実現します。


私はそれが私の答えより少しだけそうする方法が好きです。filezillaの「Generic Proxy」でSOCKSプロキシを設定し、「パッシブモード」で使用することを忘れないでください。
フィリップ・クーリング

2

まず、SCPを使用する方がはるかに簡単で、間違いなく優れています。あなたはSSHを持っているので、SCPにアクセスすることも一般的です。しかし、私はあなたのネットワークを知らないので、質問には...

まず、クライアントがFTPをアクティブモードで使用するように設定されていることを確認します。パッシブモードの使用を提案したかったのですが、使用するポートを制御できません。

次に、FTPクライアントがアクティブモードで使用するポートの数を一握りに制限します。10未満が良いでしょう。そして、これが理由です。

3番目に、これらすべてのポートのリモートポート転送を作成します。

それでうまくいくはずです


2

FileZillaまたはNautilus File Managerで内部サーバー(NATの背後)のファイルシステムを参照する方法は次のとおりです。SFTP(TCPポート22のSSHセッション)を使用し、ゲートウェイサーバー(NAT外)を使用します。

  1. ターミナルでの最初の実行:

sudo ssh -L 9090:{内部サーバーのホスト名またはIP}:22 root @ {ゲートウェイサーバーのホスト名またはIP}

  1. 次に、新しい接続を作成します。

    FileZillaの場合:

    • ホスト:sftp://127.0.0.1
    • ユーザー名/パスワード:内部サーバーの資格情報。
    • ポート:9090(端末コマンドと同じポート)。

またはノーチラスでは:

sftp://127.0.0.1:9090/をクリックすると、内部サーバーの認証情報を入力するように求められます。

これで、内部サーバーファイルシステムを参照できるようになります。


ここに画像の説明を入力してください

注:ご覧のとおり、PuttyやFileZillaでSOCKSプロキシを設定する必要はありません。


ありがとう!それがまさに私が探していたものです!
lorenzo-s
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.