1706366857
2024-01-27 14:06:58
セキュアシェル (SSH) もっている いくつかの本当にクールなトリック それぞれが提供するもの 便利な機能 (に包まれて 安心感のある心地よい毛布)あなたの生活を少し楽にするのに役立ちます。
先週、私たちは話し合いました SSHによるキー認証; 今週は、次の目的で使用できるポート転送について説明します。
- 他の方法ではアクセスできないサーバーにアクセスします。
- もう少しセキュリティを強化してリモート マシンにアクセスします。
- ローカル マシンからリモート マシンへの一時的な暗号化されたトンネルを許可します。
SSH ポート転送には 3 つの異なるタイプがあります。 彼らです 地元 (クライアントからの接続は SSH 経由でリモート ホストに転送されます)、 リモート (リモート サーバーからの接続は SSH 経由で別のマシンに転送されます)、および 動的 (さまざまなアプリケーションからの接続は、SSH 経由で複数のサーバーに転送されます)。
ポート転送の例は数多くありますが、中にはかなり複雑なものもあります。 このため、ここでは最初の 2 種類のポート転送 (ローカルとリモート) のみを扱います。 これらは、最もよく使用される SSH ポート転送のタイプでもあります。
SSH ポート転送はデフォルトで SSH に組み込まれているため、SSH がインストールされていれば、この機能を使用するために必要なものがすべて揃っているはずです。
そうは言っても、SSH ポート転送がどのように機能するかを説明しましょう。
OpenSSHサーバーをインストールする
あなたの Linuxディストリビューション おそらくすでに SSH がインストールされていると思われます。 ただし、ポート転送の場合は、SSH サーバーも追加する必要があります。 そのためには、Linux マシンにログインして、Linux マシンをインストールします。 Ubuntuベースのディストリビューション そのようです:
sudo apt-get install openssh-server -y
sudo apt-get install openssh-server -y
RHEL ベースのディストリビューションでは、そのコマンドは次のようになります。
sudo dnf install openssh-server -y
sudo dnf install openssh-server -y
サーバーがインストールされたら、次のコマンドを使用して Ubuntu ベースのディストリビューション上でサーバーを起動して有効にします。
sudo systemctl Enable –now ssh
sudo systemctl Enable –now ssh
RHEL ベースのディストリビューションでは、開始/有効化コマンドは次のとおりです。
sudo systemctl Enable –now sshd
sudo systemctl Enable –now sshd
SSHローカルポート転送
ここで扱う最初のタイプのポート転送はローカルです。 新しいサイトを開発していて、暗号化された接続経由でそのサイトにアクセスできるようにしたいとします。 この新しいサイトはローカル ネットワーク上またはリモート サーバー上にある場合があります。 いずれの方法でも、リモート SSH サーバーを使用してローカル ポートからリモート ポートに接続できます。
ローカル ポート 8080 を使用し、接続 IP アドレス 192.168.1.11 ポート 80 を SSH 経由で転送するとします。 これを行うには、コマンドは次のようになります。
ssh -L 8080:192.168.1.11:80 ローカルホスト
ssh -L 8080:192.168.1.11:80 ローカルホスト
ローカル SSH ユーザー パスワードの入力を求められ、コマンド プロンプトに戻ります。 トンネルが機能していることを確認するには、Web ブラウザを開いて次の場所を指定します。
リモート サイト (192.168.1.11) が Web ブラウザに表示され、SSH 暗号化を介してトンネリングされています。
ターミナル ウィンドウから「ログイン」している限り、暗号化されたトンネルを使用し続けることができます。 暗号化されたトンネルを閉じるには、ターミナル ウィンドウに戻って次のように入力します。
SSHリモートポート転送
おそらく、このタイプのポート転送のほうが便利であることがわかるでしょう。 他の人にアクセス権を与えることができます 暗号化されたトンネルを介してリモート マシンに送信されます。 たとえば、GUI を使用してサーバーに VNC アクセスする必要があるユーザーが LAN 上にいて、セキュリティ目的で接続を確実に暗号化したいとします。 もちろん、これには、サーバー上で VNC が適切に設定されており、クライアント マシン上で VNC ビューアが必要です。
この例では、リモート マシンの IP アドレスは 192.168.1.11 のままにし、クライアント マシンは 192.168.1.21 にします。 クライアント マシンへの SSH アクセスも必要です。
ただし、これを行う前に、簡単な SSH 構成を行う必要があります。 次のコマンドを使用して SSH サーバー構成ファイルを開きます。
sudo nano /etc/ssh/sshd_config
sudo nano /etc/ssh/sshd_config
ファイルの最後に次の行を追加します。
ファイルを保存して閉じます。 次のいずれかを使用して SSH を再起動します。
sudo systemctl sshを再起動します
sudo systemctl sshを再起動します
または
sudo systemctl sshdを再起動する
sudo systemctl sshdを再起動する
次に、リモート トンネルを作成しましょう。 VNC のトンネル (ポート 5900 で実行される) を作成するには、リモート サーバー (この例では 192.168.1.11) で次のコマンドを実行します。
ssh -R 5900:localhost:5900 ユーザー名@192.168.1.21
ssh -R 5900:localhost:5900 ユーザー名@192.168.1.21
ここで、USERNAME は、アクセスできるクライアント マシン上のユーザー名です。 そのユーザーを認証すると、SSH リモート トンネルが起動して実行されます。 他のユーザーは、ローカルホストとポート 5900 で VNC クライアントを使用してサーバーに接続できます。
リモート ユーザーが VNC 接続を切断しても、トンネルは引き続き稼働していることに注意してください。 トンネルを閉じるには、リモート サーバーのターミナルに戻り、「exit」と入力します。
さまざまなユースケースに合わせて暗号化されたトンネルを作成したい場合は、SSH 以外に探す必要はありません。 これらのトンネルの作成のコツを掴めば、さまざまな種類のシナリオで非常に役立つことがわかります。
YouTube.COM/THENEWSTACK
テクノロジーの進歩は速いので、エピソードを見逃さないでください。 YouTube チャンネルに登録すると、すべてのポッドキャスト、インタビュー、デモなどをストリーミングできます。
購読する
スケッチで作成されたグループ。
ジャック・ウォーレンは、X世代の精神が現代の嫌味と融合したときに起こるものです。 ジャックは真実の探求者であり、量子シャープペンシルと音と魂のバラバラなビートを使って言葉を書く人です。 彼は住んでいるのに…
ジャック・ウォレンの続きを読む
#Linux #SSH #ポート転送を使用して暗号化されたトンネルを作成する
