OpenSSHを使用したポート転送とプロキシ

前書き

Secure Shellとしても知られるSSHは、リモートシェルの取得以外にも使用できます。この記事では、ポート転送とプロキシにSSHを使用する方法を示します。

唯一の前提条件は、OpenSSHサーバー(Vultr Linuxイメージにデフォルトでインストールされる)とOpenSSHクライアント(Linux、BSD、およびMS Windowsで利用可能)です。

目的

SSHプロキシは、主にWebトラフィックのプロキシに使用されます。たとえば、危険なローカルネットワークからWebトラフィックを保護するために使用できます。

SSHポート転送は、一般にアクセスできないサービスへのアクセスによく使用されます。たとえば、サーバー上でWebminなどのシステム管理Webインターフェースを実行しても、セキュリティ上の理由からlocalhostでの接続のみを待機することができます。その場合、SSHを使用して、ローカルマシンから選択したポートの接続をサービスがサーバー側でリッスンしているポートに転送し、SSHトンネルを介してこの特定のサービスへのリモートアクセスを許可できます。SSHポート転送が使用されるもう1つの一般的なシナリオは、プライベートネットワーク上のホストへのSSHトンネルを介してリモートプライベートネットワーク上のサービスにアクセスすることです。

使用法

プロキシとポート転送の両方で、サーバーで特別な構成を行う必要はありません。ただし、SSHでは常に鍵ベースの認証の使用が推奨されます。SSHキーの生成方法をお読みください

SSHプロキシ

SSHプロキシの作成は非常に簡単です。一般的な構文は次のとおりです。

ssh -D [bind-address]:[port] [username]@[server]

ここで[bind-address]、リッスンするローカルアドレスで[port]リッスンするローカルポートで、[username]サーバー上のユーザー名で、[server]サーバーのIPアドレスまたはホスト名です。[bind-address]が指定されていない場合、SSHのデフォルトlocalhostはほとんどの場合に望ましい値です。

ここに実用的な例があります:

ssh -D 8080 root@your_server

このプロキシを使用するにはSOCKSv5、プロキシタイプおよび8080プロキシポートとして使用するようにブラウザを設定する必要があります。

SSHポート転送

コマンドの一般的な構文は次のとおりです。

ssh -L [localport]:[remotehost]:[remoteport] [username]@[server]

どこに[localport]SSHクライアントがlistenするポートがあり、[remotehost]接続が転送されます先のホストのIPアドレスです。これは127.0.0.1、サーバーへの接続をトンネリングしている場合で���。最後に、[remoteport]接続しているサービスが使用するサーバーのポート番号です。

例1:

重要なWebサービスを10000サーバーのポートで実行することを検討してください。ただし、一般にはアクセスできません。次のコマンドは、そのサービスへのSSHトンネルを確立するために使用されます。

ssh -L 80:127.0.0.1:10000 root@your_server

これhttp://127.0.0.1で、ローカルブラウザに入力して接続できるようになります。

例2:

プライベートネットワーク上に2つのVultrサーバーがあります。1つはLinuxディストリビューションを実行しており、もう1つはMS Windowsを実行しています。Windowsインスタンスでは、RDPサーバーは実行されていますが、セキュリティ上の理由からインターネットに公開されていません。192.168.1.5WindowsマシンのプライベートIPアドレスであると仮定すると、次のコマンドを使用して、コンピューターのポートを介してリモートデスクトップサーバーに接続できます。

ssh -L 3389:192.168.1.5:3389 root@your_server

これで、コンピューターからそれ自体へのRDP接続は、Linuxサーバーを経由してWindowsサーバーにトンネリングされます。



Leave a Comment

CentOS 7にApacheをインストールする方法

CentOS 7にApacheをインストールする方法

CentOS 7サーバーにApache 2.4をインストールする方法を説明します。安定したウェブサーバーを構築するための前提条件と手順を解説します。

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1におけるBlacklistdのインストール方法について詳しく解説します。この方法を通じて、強力なセキュリティ対策を実装できます。

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

サーバーマネージャーを使用して、Windows Serverの管理が向上します。セキュリティリスクを軽減し、効率的な管理を実現します。

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法。Seafile(コミュニティバージョン)は、ownCloudに似た無料のオープンソースファイル同期および共有ソリューションです。

DebianでSnortを設定する方法

DebianでSnortを設定する方法

Snortは無料のネットワーク侵入検知システムです。最新の方法で、SnortをDebianにインストールし、設定する手順を紹介します。ネットワークのセキュリティを強化しましょう。

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールし、ログ管理を行う方法を学びます。

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsサーバーでWebサイトを実行している場合、電子メールも受信できるようにするためにhMailServerを使用する方法を解説します。

Ubuntu 19.04にFiveMサーバーをインストールする方法

Ubuntu 19.04にFiveMサーバーをインストールする方法

FiveMサーバーをUbuntu 19.04にインストールするための詳細なガイド。必要条件からインストール、起動、トラブルシューティングまで、すべてのステップを含みます。

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

Debian 10にWebDAVをデプロイする方法を学び、WsgiDAVとSSL証明書で安全な接続を実現しましょう。

ヘルスケア2021における人工知能の影響

ヘルスケア2021における人工知能の影響

ヘルスケアにおけるAIは、過去数十年から大きな飛躍を遂げました。したがって、ヘルスケアにおけるAIの未来は、日々成長を続けています。