LinuxサーバーとWindowsクライアントの間にSSHトンネルを作成する方法

を構築するというアイデア SSHトンネル すべての接続を暗号化して(たとえば、httpsまたはhttpページにアクセスするかどうかに関係なく)、に接続することです インターネット を通して 安全なチャネル。 この「安全な」チャネルは、 サーバ この目的のために構成されています。 このサーバーは、たとえば、自宅にある可能性があります。


この方法の「デメリット」は、SSHサーバーとして機能するために、常にこのマシンの電源を入れて正しく構成する必要があることですが、接続のセキュリティを大幅に向上させ、ネットワーク管理者による接続制限を回避することもできます(たとえば、あなたの仕事)。

私はあなたが尋ねるのを聞きます:これは本当に私を助けることができますか? さて、次のシナリオを想定しましょう。無料のWi-Fiを備えたインターネットカフェまたはレストランにいて、銀行振込またはその他の重要な操作を行う必要があります。 もちろん、これらのタイプのトランザクションは安全な環境で実行することを常にお勧めします。 ただし、解決策があります。SSHトンネルです。 このようにして、「安全な」サーバーを介してインターネットに接続できます。

この方法は、多くの作業環境で接続に課せられる制限を回避するのにも役立ちます。 職場からYouTubeにアクセスできませんか? すべてのリクエストは「安全な」サーバーを介して行われるため、SSHトンネルが解決策になる可能性があります。 つまり、安全なサーバーのIPはブロックされていないため(一方、YouTubeの場合)、会社のネットワークの管理者はこの制限を「回避」できます(YouTubeにアクセスできません)。あなたのマシンはあなたの「安全な」サーバーと話しているだけで、それを通してあなたが実際にたくさんのページを閲覧していることを知りません。

このチュートリアルでは、「典型的な」ケースであるLinuxサーバー、Windowsクライアントについて説明します。

Linuxサーバーを構成する

1.- SSHサーバーをインストールします。 これを行うために、私はターミナルを開いて実行しました:

En Ubuntu:

sudo apt-get install openssh-server

En アーチ:

pacman -S openssh

En フェドーラ:

yum -y installopenssh-server

準備ができました。 これで、SSHクライアントを使用してUbuntu(SSHサーバー)にアクセスできるようになります。

2.- インストールしたら、構成ファイルを確認すると便利です。

sudo nano / etc / ssh / sshd_config

このファイルから、SSHサーバーを簡単に構成できます。 portとallowusersの2つのパラメーターのみを変更することをお勧めします。

攻撃の可能性を回避するために、SSHが使用するポートを変更することをお勧めします。 デフォルトでは値22が付属していますが、自分に最も適した別のものを選択できます(このチュートリアルでは、443を選択しましたが、他の値でもかまいません)。

Allowusersパラメーターを使用すると、ユーザーによるアクセスを制限でき、オプションで、接続元のホストを制限できます。 次の例では、SSHサーバーへのアクセスを制限して、ホスト10.1.1.1および10.2.2.1からアクセスできるのはまあまあのユーザーだけです。

AllowUsers so and so@10.1.1.1 mengano@10.1.1.1 so and so@10.2.2.1 mengano@10.2.2.1

ルーターを構成する

サーバーがルーターの背後にある場合は、着信接続をブロックしないようにルーターを構成する必要があります。 具体的には、構成する必要があります。

要点に進んで必要な構成を示す前に、ポート転送が何で構成されているかを少し説明するのが賢明なようです。

3台のマシンのローカルネットワークがあり、それらはすべてルーターの背後にあるとします。 ローカルネットワークのマシン1と通信するための着信接続(SSHからの場合のように)はどのように行われますか? 3台のマシンは「外部から」ローカルIPを持っていますが、インターネットに接続するための単一のパブリックIPを共有していることを忘れないでください。

前述の問題の解決策は、ポートフォワーディングです。 このようにして、パブリックIPのポートXへの着信接続が受信されると、ルーターはそれを対応するマシンに参照します。 このようにして、そのポートを介して接続するときはいつでも、ルーターが対応するマシンにリダイレクトする(したがってポート転送する)ことがわかります。 これはすべて、明らかにルーターで構成する必要があります。

ポート転送の構成は、使用しているルーターによって少し異なります。 最も実用的なのは訪問することです portforward.com、使用しているルーターモデルを選択し、そこに記載されている手順に従います。

Windowsクライアントを構成する

Windowsから接続するには、PuTTYツールをSSHクライアントとして使用するのが実用的です。

1.- 最初のステップはPuTTYをダウンロードすることです

PuTTYダウンロードページでわかるように、いくつかのバージョンが利用可能です。 ポータブルバージョンのプログラムputty.exeをダウンロードすることをお勧めします。 ポータブルバージョンを選択する利点は、いつでもペンドライブに入れて持ち運び、どこにいても任意のコンピューターからプログラムを実行できることです。

2.- PuTTYを開き、SSHクライアントが接続するサーバーのIP(パブリック)とポートを指定します。 サーバーのパブリックIPを見つける方法は? 簡単です。「私のパブリックIPとは」をグーグルで検索して、このサービスを提供する何千ものページを見つけてください。

3.- 「クライアント」がプロキシの背後にある場合は、正しく構成することを忘れないでください。 入力するデータがわからない場合は、Internet Explorerを開き、[ツール]> [接続]> [LAN設定]> [詳細]に移動します。 下の画像に示すように、PuTTYに表示されるデータをコピーして貼り付けます。 場合によっては、ユーザー名とパスワードの入力が必要になることがあります。

4.- SSHトンネルを構築するには、「ローカル」ポート転送のデータを入力する必要があります。 [接続]> [SSH]> [トンネル]に移動します。 ここでの考え方は次のとおりです。どの接続を安全なサーバーに「迂回」させるかをPuTTYに指示する必要があります。 これを行うには、ポートを選択する必要があります。

特にマシンがプロキシの背後にある場合は、SSLが安全な接続を確立するために使用するポート443を選択することをお勧めします。これにより、管理者は自分が何をしているかを見つけるのが難しくなります。 一方、ポート8080はHTTP(「安全な」接続ではない)によって使用されるポートであるため、経験豊富なネットワーク管理者は疑わしく、他のタイプの接続のためにポートをブロックしている可能性があります。

[宛先]で、セキュリティで保護されたサーバーのIPを再入力し、続いて、[ルーターの構成]というタイトルのドットと〜/ .ssh / configファイルで開いたコロンとポートを入力します。 たとえば、192.243.231.553:443です。

[動的](次のポイントで使用するSOCKS接続を作成します)を選択し、[追加]をクリックします。

5.- PuTTYのメイン画面に戻り、[保存]、[開く]の順にクリックしました。 サーバーに初めて接続すると、次のようなアラートメッセージが表示されます。

6.- 次に、サーバーにアクセスできるユーザー名とパスワードの入力を求められます。

すべてがうまくいった場合、ログインが完了すると、以下のようなものが表示されます...

7.-最後に、PuTTYを閉じずに、PuTTYを介してインターネットに接続するようにFirefox(またはお気に入りのブラウザー)を開いて構成します。


コメントを残す

あなたのメールアドレスが公開されることはありません。 必須フィールドには付いています *

*

*

  1. データの責任者:MiguelÁngelGatón
  2. データの目的:SPAMの制御、コメント管理。
  3. 正当化:あなたの同意
  4. データの伝達:法的義務がある場合を除き、データが第三者に伝達されることはありません。
  5. データストレージ:Occentus Networks(EU)がホストするデータベース
  6. 権利:いつでも情報を制限、回復、削除できます。

  1.   ホセ・ダニエル・ロドリゲス

    ステップ6の質問どのユーザー名とどのパスワードを入力する必要がありますか

  2.   ホセ

    素晴らしい、私は私の家でそれを構成しようとします

  3.   Al

    私の家からインターネットにアクセスするには:
    56kモデムによるダイヤルアップ接続、
    この構成の.batファイルを実行します。
    @エコーオフ
    C:
    Cd C:\ Windows
    パテ-N-C -D 1080 -P 443 -ssh ユーザー@00.00.000.000 -pwパス
    出口
    そして、これで構成されているパテに関連するもの
    フォーム:プロキシの使用を制御するオプションで、http、プロキシに配置します
    ホストホストプロキシとポート3128、ユーザー名とパスワードを入力しました
    私は自分のデータを他のすべてに手を加えずに置き、これを保存します
    デフォルト設定としての初回構成
    そして、mozilla、yahooメッセンジャーなどを使用するには、プロキシする必要があります
    このように構成されたプロキシーバージョン3のアプリケーション:
    アドレス127.0.0.1ポート1080ソックスバージョン5のプロキシサーバーで
    プロキシルールでパテアプリケーションを追加し、アクションで
    直接、すべてのプログラムがこれを介して出てくるように。
    私は自分のAndroidフォンでそれを達成する方法を知る必要があります
    connectifyを介してPCに接続すると、
    電話アクセス。 これを解決するには、チュートリアルとapksが必要です
    ジレンマ。 よろしくお願いします

  4.   クリント·イーストウッド

    SSHサーバーがクライアントからのHTTPリクエストに魔法のように対応する方法を説明する必要がありました...チュートリアルが弱い...

    1.    エロール·フリン

      間違ったクリントイーストウッド。

      チュートリアルで説明されている「魔法のように」で、それは機能します!

      決して弱いわけではなく、公平で具体的だと思います。

      経験の浅い人には非常によく説明されています。

      よろしく

      1.    Linuxを使いましょう

        それがあなたに役立ったことはなんと素晴らしいことでしょう。 ハグ! ポール。

  5.   DumasLinux

    それは非常にうまく機能します。

    以下のように、WinSCPを使用したSSHトンネル:

    http://www.sysadmit.com/2014/05/linux-tuneles-ssh-con-winscp.html

  6.   ジャンピエール・ザンブラノ・クエバ

    非常によく説明されている素晴らしい5 *ありがとう

  7.   ロドリゴ

    質問…
    XNUMX台のLinuxマシン間のトンネルが必要な場合はどうなりますか? 私の状況は次のとおりです。私の仕事でPCをいじっていて、ビデオ会議ソフトウェアをテストしたいので、avandonadoPCにサーバーをインストールする必要がありました。 問題は、ソフトウェア(bigbluebutton)をインストールすると、インストールが失敗することです...問題は、インストールのコンポーネントのダウンロードがブロックされていることです(私はコンピューター科学者ではなく、常に学習している教師です) ....。
    会社が大きいので、ネットワークから私たちを助ける可能性はゼロ未満です...
    だから、sshトンネルを介してサーバー(ubuntuサーバー)を自宅のPC(ubuntuがある)に接続し、ソフトウェアをインストールすることを考えていました...
    それが可能だ? 彼らは私を助けますか?

  8.   スアン

    こんにちは、クエリがあります。Windowsにマウントした仮想マシンにあるDebianサーバーにあるアプリケーションに接続したいのですが、別のネットワークからそのアプリケーションにアクセスしたいのですが、誰かが案内してくれます。 。

  9.   anony

    SSHサーバーをインストールして構成する方法
    https://www.youtube.com/watch?v=iY536vDtNdQ

  10.   トスコ

    こんにちは、私は非常に気になる質問があり、コミュニティに相談することにしました..さて、ここで私を助けてくれるかどうかを確認します..私は仮想化の世界で「新しい」です。 Linux。

    ケースは次のとおりです。Linuxサーバー14.04.5LTSを使用して仮想マシンをインストールし、ネットワークアダプターを選択して、Vboxのネットワークを「ブリッジアダプター」として構成しました。 サーバー内に入ると、いくつかのものをインストールしました。つまり、インターネットにアクセスできます。SSHサービスをインストールし、デフォルトでポート22とftpサービス「vsftpd」を残しました。

    コマンド«ifconfig»を参照すると、次のように答えられます。
    リンクカプセル化:イーサネットアドレスHW 08:00:27:d5:2c:88
    住所inet:192.168.0.13 Diffus.:192.168.0.255 Masc:255.255.255.0
    ......

    ここで、Puttyを使用してコンピューター(Windows 10)からssh(ポート22)を使用して仮想サーバーに接続するには、IP "192.168.0.13"を使用し、FTPでも同じですが、友人に自宅から接続させたい場合はSSHまたはFTPを介してサーバーに接続する場合、コンピューターで使用しているIPを使用することはできません。

    これは、ip "192.168.0.13"がローカルで機能すると思うためです。つまり、他の何かを構成したり、/ etc / network / interfacesを変更したり、iptablesで何かを変更したりする必要があるのはなぜですか。
    ええと、私は自分のサーバーを誰でもアクセスできるパブリックIPとして機能させたいと思っています。

    事前に感謝します!