SSHトンネルについて学ぶ

SSHトンネルについて学ぶ

私はLinux(Ubuntu)サーバーを持っており、SSH(ポート22)を介してのみrootアクセス権を持っています。このサーバーのポート3306でリッスンするMySQLデータベースがあります。マイコンピュータのパテとLinuxコンピュータのトンネルを使用して、自分のコンピュータのローカルポート(4000など)からポート22のLinuxサーバーへ、およびサーバー上で自分自身でセッションを作成できますか?ポート3306で?

答え1

私はいくつかのスケッチを作りました。

sshトンネルコマンドを入力する(またはあなたの場合:トンネルでPuttyを起動する)マシンが呼び出されます。「あなたの所有者」

ローカルで始まるSSHトンネル


リモートから始まるSSHトンネル

紹介する

  1. ローカル:-L Specifies that the given port on the local (client) host is to be forwarded to the given host and port on the remote side.

    ssh -L sourcePort:forwardToHost:onPort connectToHost意味:SSHを使用して接続connectToHostし、すべての接続試行を転送します。地元の sourcePortonPortポートにアクセスできるforwardToHost名前のコンピュータポートに接続します。connectToHost

  2. 孤立:-R Specifies that the given port on the remote (server) host is to be forwarded to the given host and port on the local side.

    ssh -R sourcePort:forwardToHost:onPort connectToHost意味:SSHを使用して接続connectToHostし、すべての接続試行を転送します。離れて sourcePortonPortforwardToHostローカルコンピュータからアクセスできるコンピュータのポートに接続します。

あなたの模範

最初の写真はあなたの状況を示しています。名前付きの青いボックスは、Ubuntuサーバー(私のイメージではサーバーと呼ばれます)your hostでPuttyを実行するWindowsシステムです。緑色のポート(あなたのポート番号)への接続は、Ubuntuサーバーシステム(つまりUbuntuサーバー自体)のピンクのMySQLポートremotehostに転送されます。40003306localhost

Puttyで設定

Puttyを起動し、一般的な接続設定(ホスト名またはIPアドレス)を入力します。左のツリーから次に進みます。

接続→SSH→トンネル

そして新しく作成地元のソースポート4000(イメージの123)と宛先ポートlocalhost:3306(イメージのlocalhost:456)があるトンネル。

クリックすることを忘れないでください次へ追加

その後、もう一度ナビゲートして会議次にクリック救う次回利用できるように設定を保存してください。これで、保存された接続を使用してサーバーにログインでき、ログインに成功すると、ホストシステムのポート4000に接続するたびに実際にUbuntuサーバーのポート3306に接続されます。

パテを使用してフォワードトンネルを作成する

答え2

簡単な答えは「はい」です。しかし、トンネルは実際にコンピュータから始まることに注意してください。これは、サーバーへのSSH接続(安全)を作成し、SSHにユーザー側のポートでリッスンし、着信接続をサーバーの特定のホストアドレスにある特定のポートに転送するように指示することです。サービス端末。トンネルの宛先は同じサーバーである必要はありません。他の有効なアドレスである可能性があり、SSHサーバー自体を実行しているサーバーではない場合、着信接続はSSHサーバーからのものとして表示され、お客様の顧客ではありません。

これを設定するには、[Putty構成]ダイアログボックスを開き、通常はサーバーへのアクセスに使用する接続設定を選択し、[ロード]をクリックします。その後、左側のツリーから接続 - > SSH - >トンネルに移動し、ソースポートが4000でターゲットが「localhost:3306」の新しい「ローカル」トンネルを作成します(宛先アドレスはサーバーで解決されるため、サーバーの観点からはMySQLポートlocalhostにあります)。その後、セッションに戻り、[保存]をクリックして次回の設定を維持します。これで、保存された接続を使用してサーバーにログインでき、ログインに成功すると、コンピュータのポート4000に接続するたびに実際にサーバーのポート3306に接続されます。

MS-Windowsクライアントのトンネリングと実行について真剣に考えている場合は、確認してみることをお勧めします。パテトンネルマネージャPuttyを使用すると、Puttyコンソールを開かずにトンネルを簡単にセットアップして実行できます。

関連情報