「イントラネットペネトレーション」はパブリックネットワークIPを必要とせず、パブリックネットワークSSHで自宅のRaspberry Piにリモートアクセス可能

序文

この記事では主に、以下を実現できるラズベリーパイ + cpolar の組み合わせの役割について説明します。

  • Raspberry PiでSSHを有効にする方法
  • SSH経由でRaspberry Piデバイスに接続する方法
  • 自宅のRaspberry Piにどこからでもリモートアクセスする方法

Raspberry Pi でできることの中でも、ホーム ネットワーク上のサーバーとして使用することは非常に人気があります。設置面積が小さく、消費電力が低いため、軽量サーバーを実行するのに最適なデバイスです。

この場合、できるべきことの 1 つは、モニター、キーボード、マウスを接続したり、毎回 Raspberry Pi に移動したりせずに、Raspberry Pi 上でコマンドを実行することです。

これを行うには、他のコンピュータ、ラップトップ、デスクトップ、または携帯電話から SSH (Secure Shell) 経由で Raspberry Pi にログインします。その方法を教えてください。

SSH経由でRaspberry Piに接続する方法

20221117163606

Pi 上で Raspbian を実行しており、イーサネットまたは WiFi 経由でネットワークに正常に接続していると仮定します。Raspberry Pi がネットワークに接続されていることが重要です。接続されていないと、SSH 接続できません (明白すぎて申し訳ありません)。

ステップ 1. Raspberry Pi で SSH を有効にする

Raspberry Pi では SSH がデフォルトで無効になっているため、Raspbian を新規インストールした後に Pi をオンにするときに SSH を有効にする必要があります。

まず、ナビゲーション メニューから Raspberry Pi 構成ウィンドウに移動します。

  • Raspberry Pi メニュー、Raspberry Pi 構成

20221117163613

次に、「インターフェース」タブに移動し、SSH を有効にして、Pi を再起動します。

  • Raspberry Pi で SSH を有効にする

20221117163625

ターミナルを経由せずに SSH を有効にすることもできます。コマンド sudo raspi-config を入力し、詳細オプションに移動して SSH を有効にするだけです。

ステップ 2. Raspberry Pi の IP アドレスを確認する

ほとんどの場合、Raspberry Pi には 192.168.xx または 10.xxx のようなローカル IP アドレスが割り当てられます。さまざまな Linux コマンドを使用して IP アドレスを見つけることができます。

ここでは古い ifconfig コマンドを使用していますが、IP アドレスを使用することもできます。

ifconfig

20221117163636

  • Raspberry Piのネットワーク構成

このコマンドは、すべてのアクティブなネットワーク アダプターとその構成のリストを表示します。最初のエントリ (eth0) は、有効な IP アドレス 192.168.9.36 を示しています。Raspberry Pi をイーサネットを使用してネットワークに接続しているので、eth0 の下にあります。WiFi を使用している場合は、「wlan0」というエントリの下にチェックを入れます。

ルーター/モデム上のネットワーク デバイスのリストを確認するなど、他の方法で IP アドレスを見つけることもできます。

ステップ 3. Raspberry Pi に SSH で接続する

SSH を有効にして IP アドレスを見つけたので、他のコンピューターから Raspberry Pi への SSH に進むことができます。Raspberry Pi のユーザー名とパスワードも必要です。

デフォルトのユーザー名とパスワードは次のとおりです。

  • ユーザー名: pi
  • パスワード: ラズベリー

デフォルトのパスワードを変更した場合は、上記のパスワードの代わりに新しいパスワードを使用してください。理想的には、デフォルトのパスワードを変更する必要があります。過去には、デフォルトのユーザー名とパスワードを使用して数千台の Raspberry Pi がマルウェアに感染しました。

Pi に SSH 接続するコンピューター (Mac および Linux 上) でターミナルを開き、次のコマンドを入力します。Windows では、Putty のような SSH クライアントを使用できます。

Windows ユーザーは SSH クライアントをインストールします。

Windows を使用している場合は、 PuTTYなどの SSH クライアントをコンピュータにインストールするか、Baidu を使用してインストールする必要があります。

ダウンロードが完了したら、PuTTYを開き、セッションの「ホスト名」にRaspberry PiのIPアドレスを入力し、「開く」をクリックしてRaspberry Piに接続します。

20221117163716

初めて警告が表示された場合は、Acceptボタンをクリックします。

20221117163722

ログインユーザー名を求めるプロンプト: pi

パスワードを入力してください (デフォルト: ラズベリー)

次に、パスワードを入力して Enter キーを押します。

20221117163732

SSH経由でのログインに成功しました。

Mac および Linux ユーザー:

ここでは、前の手順で見つけた IP アドレスを使用します。

ssh [email protected]

注: Raspberry Pi への SSH 接続に使用しているコンピュータと同じネットワークに Raspberry Pi が接続されていることを確認してください。

20221117163740

ターミナルSSH経由

初めて警告が表示された場合は、「yes」と入力して Enter キーを押します。

20221117163746

パスワードを入力してください (デフォルトは「raspberry」です)

次に、パスワードを入力して Enter キーを押します。

20221117163755

SSH経由でのログイン成功

ログインに成功すると、Raspberry Pi のターミナルが表示されます。これで、Raspberry Pi に物理的にアクセスしなくても、このターミナルを介して Raspberry Pi 上で任意のコマンドをリモート (現在のネットワーク内) で実行できるようになります。

ステップ 4. どこからでも Raspberry Pi にアクセスする

自宅の同じローカル エリア ネットワーク内の Raspberry Pi にアクセスする場合にのみ制限があり、自宅で Raspberry Pi の IP が変更された後、いつかオフィスの Raspberry Pi にアクセスしたい場合はどうすればよいでしょうか? それなら今すぐ解決しましょう。

4.1 Cpolar イントラネット ペネトレーションのインストール

cpolar は、イントラネット サイトをパブリック ネットワークに公開して、誰もがサイトにアクセスできるようにするイントラネット侵入ツールです。TCP を使用して、SSH ポートをパブリック ネットワーク アドレスのポートにマップすることもできます。

cpolar公式サイト: https: //www.cpolar.com/

  • cpolar ワンクリック インストール スクリプト: (国内ユーザー)
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
  • またはショートリンクのインストール方法:(外国人ユーザー)
curl -sL https://git.io/cpolar | sudo bash
  • cpolar バージョン情報の表示
cpolar version

図に示すように、正常に表示されれば、インストールは成功しています。

20221117163818

4.2 トークン認証用の cpolar

cpolar アカウントをまだお持ちでない場合は、cpolar 公式 Web サイトにアクセスして登録し、バックグラウンドでログインして認証トークンを取得してください。

cpolar authtoken xxxxxxxxxxxxxxxxxx

4.3 起動時に自動的に開始するように cpolar サービスを構成する

  • 起動時に自動的に起動するように cpolar を構成する
sudo systemctl enable cpolar
  • デーモンモード、cpolar を起動
sudo systemctl start cpolar
  • cpolar デーモンのステータスを表示する
sudo systemctl status cpolar

20221117163830

図に示すように、ステータスは となりactive、起動ステータスが成功したことを示します。

cpolar はデフォルトで 2 つのサンプル トンネルをインストールします。1 つは http ポート 8080 を指す Web サイト トンネル、もう 1 つは TCP ポート 22 を指す ssh トンネルです。

4.4 パブリック ネットワークにマッピングされたトンネル アドレスの表示

cpolar のバックグラウンド-> ステータスにログインし、ssh トンネルによってマップされたパブリック ネットワーク アドレスを確認してみましょう。

20221117163837

4.5 ssh パブリック ネットワークから Raspberry Pi へのリモート アクセス

ssh 用户名@1.tcp.vip.cpolar.cn -p XXXXX(X为cpolar生成的端口号,用户名替换为主机用户名)

のように:

ssh [email protected] -p 20013

ローカル ポート 22 はパブリック ネットワーク上のポート 20013 にマッピングされているため、ssh コマンドでは -p パラメータを追加し、その後にパブリック ネットワークのトンネル ポート番号を追加する必要があります。

20221117163844

ログイン成功しました!これで、自宅、学校、オフィス、携帯電話の 4G 端末ネットワークのどこからでも Raspberry Pi にアクセスできるようになります。

4.6 Raspberry Piのデフォルトパスワードを変更する(オプション)

前述したように、デフォルトのパスワードは安全ではありません。特に Raspberry Pi をパブリック ネットワーク アドレスに公開する場合は、パスワードを変更することをお勧めします。

passwd

20221117163851

システムは、現在のパスワード (デフォルトは「raspberry」) を入力し、新しいパスワードを再入力するように求めます。

また、SSH 経由でログインするたびにパスフレーズを入力する必要がないように SSH キーを設定することもできますが、それはまったく別の話です。

ステップ 5. SSH リモート Raspberry Pi の固定パブリック ネットワーク アドレスを構成する

上記のチュートリアルでは、無料の cpolar を使用して安全なトンネルを作成し、パブリック ネットワーク ssh リモート Raspberry Pi を実現しましたが、無料のトンネルによって生成されたパブリック ネットワーク アドレスは一時的にランダムであり、24 時間以内にランダムに変更されます。次に、パブリック ネットワーク アドレスを固定するように構成し、同時に帯域幅を増加します。

まず、cpolar背景cpolar后台にログインし、 -> 预留-> Location保留TCP地址レコードを追加します。

20221117164019

領域を選択しChina VIP、説明を入力して、保留ボタンをクリックします。

この領域にはシステムが固定の TCP アドレスを割り当てますので、長期間安定して使用できます。

20221117164025

-remote-addrシステムによって割り当てられた予約済みの TCP アドレスを値とするオプション パラメーターを指定して cpolar を呼び出します。

コマンドラインの使用例:

  • バックグラウンドで予約された TCP アドレスをローカル SSH ポートにバインドします
cpolar tcp -remote-addr=1.tcp.vip.cpolar.cn:20046 22

cpolar設定ファイルを変更する

Raspberry Pi で、cpolar 構成ファイルを変更し、ssh トンネルの下にremote_addr パラメータを追加します。

nano /usr/local/etc/cpolar/cpolar.yml

20221117164033

注: 構成ファイル内のremote_addrパラメータはアンダースコアであり、コマンドラインで使用される-remote-addrとは異なります。

変更後、保存して終了します。

  • 構成ファイルをテストするには、トンネル ファイルをフォアグラウンドで個別に起動してテストします。
cpolar start ssh

20221117164040

上の図に示すように、固定 TCP ポート トンネルが開始されたことが示されています。これは、バックグラウンドで取得したトンネル アドレスと一致しています。

CTRL+Cやめる。

  • cpolar サービスを再起動して、ssh トンネルがバックグラウンドで有効になるようにします。
sudo systemctl restart cpolar
  • パブリック ネットワーク アドレスを使用して SSH テストに接続します
ssh [email protected] -p 20046

注: パブリック ネットワーク ポートは 20046 になるため、ssh コマンドは要求時に -p パラメータを追加する必要があり、その値は指定された cpolar パブリック ネットワーク ポート番号です。

Windows ユーザーは、ssh クライアントのデフォルト ポートを cpolar のパブリック ネットワーク ポートに変更できます。

要約:

これで、Raspberry Pi にリモート接続するたびに、リモート ssh 接続アドレスを毎回変更する必要がなくなり、効率がさらに向上しました。

cpolar Cloudの記事より転載:パブリックネットワークIPなし、パブリックネットワークSSHから自宅のRaspberry Piにリモートアクセス

おすすめ

転載: blog.csdn.net/2301_78341899/article/details/132341735