NATとファイアウォールの背後にある2台のコンピューターをsshする方法


9

私は自宅のLinuxボックスにSSH接続しようとしています。私の家は寮スタイルの環境です-Arch Linuxを実行している個人のラップトップを備えたNATとファイアウォール。私の仕事は企業スタイルのWindows 7-NATとプロキシファイアウォールで、管理者権限はありません。

実行中の2つのTeam Viewerポータブルを接続できます。しかし、これは私が本当に探しているものには合いません。私は自宅のLinuxボックスにSSHで接続し、Linuxボックスを完全にログアウトしたままにしておきます。

トンネリングについて読みましたが、トンネリングを正しく理解している場合は、両方のコンピューターが接続できるサードパーティのサーバーが必要です。私にはそのようなサーバーがなく、そのようなものにお金を払いたくありません。


仕事から私のラップトップにSSHで接続するためのシンプルで安全なソリューションは何ですか?無料で安全な「第3のサーバー」はありますか?私はGoogleを行ったり来たりしていますが、ますます混乱しているようです。


2
ルーターにアクセスできますか?通常、このようなことを行うには、内部SSHサーバーでパブリックIPアドレスをポイントするようにNAT設定を調整する必要があります。
jmreicha

いいえ、ルーターにアクセスできず、NAT設定を調整できません。
user1026169 2012

この場合、Team Viewerオプションが機能しない場合は、接続するために3番目のサーバーを介してプロキシする必要がある可能性があります。
jmreicha 2012

sshのプロキシとしてのみ使用できるサーバーを提供するのは誰ですか?
user1026169 2012

私はクラウドベースのVPSがうまくいくと思います。
jmreicha 2012

回答:


16

pwnatは、おそらくこの問題に対処するオープンソースのツールです。それは言う:

pwnatは、NATの背後にあるクライアントの任意の数を有する別個のNATの背後にあるサーバと通信することを可能にするツールでないポートフォワーディングとなし、直接相互に通信するために任意のルータにDMZセットアップ。サーバーは、接続しようとしているクライアントについて何も知る必要はありません。

仲介者、プロキシ、サードパーティ、UPnP / STUN / ICEは不要で、スプーフィングはなく、DNSトリックもありません。

さらに重要なことに、クライアントはリモートホストの任意のホストまたはポート、またはサーバーによって決定された固定ホストとポートに接続できます。

pwnatはこの種の接続を確立します。

マシンA(IP:192.168.1.3)-> NAT A(IP:122.xxx)->インターネット-> NAT B(IP:59.xxx)->マシンB(192.168.2.10)

pwnatはLinuxでのみ配布されますが、記事 PWNAT:Windows Complied VersionにはWindowsバージョンが含まれています。同じ作者によるPWNAT:例も参照してください。

pwnatで使用される方法は信じられないほど賢いですが、それが環境で動作するという保証はありません。


1
注:pwnatは、動作するためにICMPに依存しています。具体的には、icmpエコーと時間超過メッセージです。ICMPはステートレスであるため、これは機能します。
shadowbq 2012

うまくいきません。NATルーターは、標準を実装するほどスマートではなく、の作成者を理解するほどスマートでもありませんpwnat。賢さのために+1。
量子

私もpwnatを試しましたが、成功しませんでした。しかし、構成に問題がある可能性があります。サポートを提供できる成功した人はいますか?
robguinness 2013年

5

個人的には、3番目のサーバーをまだ所有していない場合でも、トンネリングが最良のオプションだと思います。

Amazon EC2には無料階層の価格オプションがあり、新規のお客様はLinux / Windowsのマイクロインスタンスを最大750時間/月、1年間無料で実行できます。私自身はこのサービスを使用していませんが、必要なときに仮想サーバーのみを実行すると、SSHトンネルが無料で稼働することになります。あなたはそのサービスがお金を払うのを正当化するのに十分安いと思うかもしれませんか?

Hak5は(永続化を伴う)トンネリングの優れた入門書を作成しました。EC2インスタンスを起動してから数分以内にラップトップにアクセスできるように、仮想サーバーへの接続を試行するCRONトリガースクリプトを設定することもできます...


ありがとう、私はいくつかのフォーラムの助けを借りて無料のVPSを見つけました。
user1026169 2012

1
また、750時間は31.25日です。つまり、基本的に1 t2.micro年間、1つのインスタンスを無料で取得できます。
Attie 2018

3

最善のオプションは、可能であればポート転送を設定することですが、キャンパスでファイアウォールを設定していて、自分でポート転送を実行できない場合は、この提案を使用してください。

はい、無料の第3サーバーがあり、すでにTeamViewerを使用しています。TeamViewerがサービスとしてインストールされていることを確認してください(またはLinuxで同等の機能がある場合は、Windowsバージョンのみを使用します)。次に、職場と自宅にVPNドライバーをインストールします。その後、職場からVPNを使用して接続できるようになり、自宅のマシンに7.xxxのIPアドレスが割り当てられます。次に、ターミナルセッションに入る場合は、VPNリンクを介してSSHを実行します。

VPNのインストールオプションは詳細設定の下にあります。 ここに画像の説明を入力してください

これにより、実行できる接続のタイプに「VPN」オプションが追加されます。 ここに画像の説明を入力してください


1
詳細なヘルプとスクリーンショットをありがとうございました。TeamViewerポータブルを使用していますが、管理者権限がありません。VPNオプションはグレー表示され、使用できません。
user1026169 2012

1

あなたはあなたのホームルーター/ファイアウォールでポート転送(ポート22)を設定することができるはずです。そして、仕事中に自宅のパブリックIPアドレスに接続します。自宅に静的パブリックIPがない場合は、dyndnsのようなものを使用できます。


ネットワークを使用しているため、どちらのマシンでもポート転送はできません。IP設定はありませんが、マシンの接続に使用できるポートがありません。
user1026169 2012

0

パブリックXMPP / Toxサーバーを「3番目のサーバー」として使用できます。つまり、TuntoxPPPoAT(PPP over Any Transport)などのプロジェクトがあり、これらのインスタントメッセージングプロトコルをトランスポート層として使用しています。

XMPPをサポートするPPPoATを試しましたが、PWNATとは異なり、このメカニズムは実際に機能します。

これを使用するには、パブリックサーバーに2つのXMPPアカウントが必要です。1つはログインするサーバー用、もう1つはクライアント用です。pppoatサーバーで開始した後、クライアントで(両方とも適切な構成パラメーターを使用して)、次のようにすぐに接続を開始できます。

ssh username@10.0.0.2

もちろん、直接接続よりも遅く、速度は選択したXMPPサーバーに依存する可能性が高いですが、通常のコンソールアクティビティでは十分です。

セキュリティに関しては、SSHは独自の暗号化をすでに実装しているため、完全に安全でないネットワークで機能する可能性があります。したがって、SSHを使用する場合、XMPPベースの接続が安全かどうかは実際には無関係です。

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