樹莓派学Linux(三)------SSHポートで転送し、ローカルエリアネットワークから飛び出した樹莓派制御
2562 ワード
前編で述べたSSHサービスによるベリーパイの接続は、ローカルエリアネットワーク内で実現されており、リモート制御はできません.例えば、ベリーパイは実験室で、携帯電話で4 Gネットワークの環境下でもベリーパイを操作する必要があります.SSHサービスのポート転送機能を使用して、本当のリモート制御を実現することを考慮する必要があります.本編で紹介した内容は、あなたが1つの公網IPを持っている上に構築されています.遠隔制御の実質は、携帯電話やノートパソコンからSSHコマンドを公網IPの指定ポートに送信し、公網IPは受け取った内容をあなたの実験室のローカルエリアネットワーク内にあるベリーパイに転送することです.
まずLinuxコマンドラインにおけるSSHに関するパラメータを紹介する
上記の順方向エージェントは逆方向エージェントとは正反対で、順方向エージェントは自分のホスト上の指定ポートから受け取った情報をリモートホストの指定ポートに転送し、自分のホストがSSHサービスを行うサーバであり、リモートホストがSSHのクライアントである.リバースエージェントは、リモートホストの指定ポートから受け取った情報を、転送した自分のホストの指定ポートに、自分のホストをクライアントに、リモートホストをサーバにします.もちろん,リモートホストのIPアドレスとポート番号を自機のipとポート番号に変更すると,自機のポートからポートへの転送が実現される.
次に、順方向エージェントと逆方向エージェントの標準的な方法について説明します.
基礎知識の説明が終わった後、私たちのベリーパイを例に、逆エージェントのSSHポート転送について話します.
ハードウェアの準備ベリーパイ3 b+ルータネットワーク パブリックIP 166.166.166.166.166(VPSを1つ買えばパブリックIPを1つ手に入れることができる) ソフトウェアの準備 JuicesSH(携帯電話のSSHクライアントで、パソコンで接続するなら、puttyで直接使えばいい) 操作フロー VPSの9999ポートを使用して、受信した情報をベリーパイの20ポートに転送し、ベリーパイコマンド端末にログインし、ベリーパイに以下のコマンドを入力します.もちろん、この操作はリモートホストのパスワードに負けます.そうしないと、勝手にホストのポートをエージェントにすることができます. このときVPSにログインしてポートの使用状況を確認すると、VPSの9999ポートはすでに傍受状態にあることがわかります.人柄が良ければ、この一歩でいいかもしれませんが、その上で、完璧な点がたくさんあります. まず、ネットワークの変動が発生すると、ssh接続が中断されますが、Linuxにはautosshがあり、中断後に自動的に再接続できるので、sshの逆エージェントの代わりにautosshを使用します.あいにく、ベリーパイにはautosshがありません. をインストールする必要があります. autossh命令はssh命令と似ているが、ツリーベリー派命令ライン端末に以下の命令を入力するだけで上記の同じ操作 を完了することができる.以降の命令はすべて完全に同じで、1つのM-9998しかありません.このパラメータの意味は9999ポートが完全に転送できない場合、VPS上で9998ポート転送を再開することです. 次にsshまたはautosshコマンドを入力するたびに、パスワードを先に入力する必要があります.私たちはまず秘密保護ログインを完了する必要があります.この後、私は単独で詳細を開きます.大体、今、ベリーパイに鍵を生成し、公開鍵をベリーパイに存在させ、秘密鍵をVPSにコピーすれば、秘密保護ログインを完了することができます. その後、あるVPSホストのファイアウォールはとてもよく書かれていて、ファイアウォールは私たちがポート転送を担当するポートの受信情報を阻止する可能性があります.そのため、ファイアウォールに指定されたポートの受信情報を許可する必要があります.この部分は主にLinuxのファイアウォールについて話しています.この後、もう1編詳しく話します. 最後に、ベリーパイはVPSのようにずっと機械をつけていないため、電源を切るたびにポートが自動的に閉じるので、ベリーパイに電源を入れて実行するスクリプトを書く必要があります.この部分はLinuxの自動化メンテナンス、systemctl、rcに関連しています.localとか、前にジェーンの本でいい文章を見て、勉強してからも詳しく詳しく書きます.
まずLinuxコマンドラインにおけるSSHに関するパラメータを紹介する
ssh -fCNRL -p
-f
-C
-N
-R ,
-L ,
-p
上記の順方向エージェントは逆方向エージェントとは正反対で、順方向エージェントは自分のホスト上の指定ポートから受け取った情報をリモートホストの指定ポートに転送し、自分のホストがSSHサービスを行うサーバであり、リモートホストがSSHのクライアントである.リバースエージェントは、リモートホストの指定ポートから受け取った情報を、転送した自分のホストの指定ポートに、自分のホストをクライアントに、リモートホストをサーバにします.もちろん,リモートホストのIPアドレスとポート番号を自機のipとポート番号に変更すると,自機のポートからポートへの転送が実現される.
次に、順方向エージェントと逆方向エージェントの標準的な方法について説明します.
:ssh -fCNL [ IP( )]:[ ]:[ IP]:[ ] [ @ IP]
:ssh -fCNR [ IP( )]:[ ]:[ IP]:[ ] [ @ IP]
基礎知識の説明が終わった後、私たちのベリーパイを例に、逆エージェントのSSHポート転送について話します.
ハードウェアの準備
ssh -fCNR 9999:localhost:22 [email protected]
sudo apt-get install autossh
autossh -M 9998 -fCNR 9999:localhost:22 [email protected]