2016-07-08 6 views
0

私はLinux上に2台のコンピュータを持っています(ubuntuのような)、どちらも分離されたローカルネットワーク(192.168.xxx.xxx)にあります。SSHはローカルネットワーク上のリモートに接続します

私はsshを使ってLinux1からLinux2に接続したいと思いますが、パブリックIPはありません。

私は公開サーバー(srv.domain.com)も持っています 私は両方のPCがサーバーに接続でき、コマンドを転送できると思いますか?

しかし、私はそれを行う方法を理解することはできません。誰かがすでに何か似たようなことをしていて、それを私に説明することができます

は、私はあなたの助けのための

おかげで多くのことをすべてのマシン上のrootアクセス権を持っています!

+1

あなたの質問はプログラミングに関するものではないので、StackOverflowの話題にはなりません。それにもかかわらず、[この回答](http://unix.stackexchange.com/a/46271/13377)は、トンネルがどのように機能するか、何を何に接続するかについてのいくつかの光を放つのに役立つかもしれません。 – ghoti

答えて

0

最も簡単な方法は、ファイアウォール/ルーターにホスト間のssh接続を許可することです。しかし、別の方法があります:

サーバが両方のクライアントに達することができる場合は、サーバーにSSHおよび他のマシン上のsshのポートをリダイレクトすることができます

ssh -L 1234:CLIENT2:22 -l USERNAME SERVERNAME 

マシンオープンにログインした後別の端末ウィンドウと入力します。

ssh -l USERNAME -p 1234 localhost 
  • をUSERNAMEは、サーバ/秒 クライアント上のユーザ名に置き換えてください。
  • CLIENT2は、 セカンドクライアントのIPまたはホスト名で置き換えてください。
  • SERVERNAMEは、 サーバーの名前に置き換えてください。

また、サーバーにSSHおよびそこから別のSSHセッションを開くことができます。

ssh -R 1234:22 -l USERNAME SERVERNAME 

マシンにログインした後にターミナルウィンドウを開きます。サーバーがクライアントに到達することができない場合は、他のラウンド道のトンネルを構築する必要が


);しかし、それは簡単になりますそして、他のマシン上で次のコマンドを入力します。

ssh -l USERNAME -p 1234 SERVERNAME 
  • USERNAMEは/秒のサーバ上のユーザ名に置き換えてくださいクライアント。
  • SERVERNAMEは、 サーバーの名前に置き換えてください。
関連する問題