みなさん、こんにちは。ぶたキムチです。
今回は、TeraTermを用いてRaspberryPiをリモート通信していきたいと思います。TeraTermはSSH通信を実現できるフリーソフトウェアです。
RaspberryPiをTeraTermを使って、SSH接続でWindowsPCとリモート接続していきます。
これからRaspberryPiまたは、Arduinoを使って何か作りたいと思っている人は必見です。
特にRaspberryPiを使ってこれから何か作るとなると、新しくモニター、キーボード、マウス、接続するためのUSBハブなど準備しないと・・・って考えている人もいるかと思います。
結局、RaspberryPiやArduinoが安く手に入れられても、その他の資材を準備するために、お金がかかってしまうなんて問題が発生するでしょう。
今回は、リモート接続の基礎を習得しながら、資材準備問題も解決できる方法を紹介したいと思います。
そもそもSSH通信って何?
TeraTermを使用する前に、まずSSHとは何なのかざっくりと概要程度は押さえておきましょう。
SSH(Secure Shell)はリモート通信において使用されるプロトコルです。
SSHは非常に強力な認証機能と暗号化により、ファイル転送やリモート操作を安全に行うことができます。
Telnetという通信プロトコルもありますが、こちらは平文(テキストベース)で通信のやり取りをおこなうため、
通信内容が盗聴されてしまうと、いとも簡単にパスワードやアカウントが判明していしまいます。
しかしSSH通信では、公開鍵暗号認証とホスト認証で経路に流れるデータは暗号化されるため、より安全性は高まります。
鍵暗号方式とは
SSHでは、クライアントの正当性を確認するためにホスト認証が行われます。
SSHで接続するたびに、サーバー固有のホスト認証がサーバからクライアントに送られて。
クライアントサーバー固有のホスト認証がサーバの公開鍵と比較して一致するかどうか確認する認証方式のことです。
要するに、毎回サーバーに登録されている公開鍵とホスト側が持つ公開鍵を比較して、一致するとサーバに登録されている鍵は正しいと判断でき、SSH通信は開始されます。
公開鍵認証とは
ユーザー認証には、パスワード認証以外に公開鍵認証といわれる認証方式があります。
公開鍵認証では、通信を開始するホスト側で、あらかじめ公開鍵と秘密鍵と言われるものを生成しておきます。
この認証を行うには、あらかじめ事前準備として、生成した公開鍵をサーバに登録しなければなりません。
その後クライアントは、ユーザーの持つ公開鍵が使用できるか、サーバーに問い合わせます。
もし使用可能であれば、クライアントは自身の持つ秘密鍵を使って署名を生成します。
その署名したデータをサーバが持つ公開鍵を使って検証し、復号できたらログインを許可します。
※注意してほしいのが、サーバが署名のデータを生成し、ユーザーがそれを復号するわけではありません。
署名データはクライアントが生成し、サーバー側は送られてきた署名を復号し検証するという流れになります。
TeraTermを使ってRaspberryPiとWindowsPCを接続する
それでは、SSH接続でRaspberryPiをWindowsPCに接続していきましょう。
今回は、RaspberryPiを例としますが、ArduinoもSSH通信可能なので試してみてください。
SSH接続することで、新たにモニタやマウス、キーボードを準備する必要がないのは大きなメリットです。
接続前に準備するもの
・WindowsPC
・TeraTerm
・HDMI(一時的にディスプレイとラズパイを接続するため)
・ネット環境(今回はwifiを使用しますが、シリアル通信でも、Ethernetでもできます。)
※TeraTermのインストール手順は以下の記事をご覧ください。
RaspberryPiをSSH接続するメリット
通常のRaspberryPiを起動する場合以下のような流れになります。
しかし、TeraTermをインストールしたPCでSSH接続をすると以下のような流れとなります。
本来必要な、マウス、キーボード、ディスプレイが必要なくなり、操作の手間も省けてかなりらくらくものつくりができます。
SSH接続の準備:RaspberryPi
まずRaspberryPiの設定をしていきます。
RaspberryPiからIPアドレスを確認する
・RaspberryPiを起動後、ターミナルを起動します。
ターミナルで以下のコマンドを入力しましょう。
ifconfig
以下の画面が表示されますので、今回はwifiを使用するので「wlan0」の「inet」を確認しましょう。
書いてある例: 189.168.10.0 ※IPアドレスは必ずどこかへメモしておく!!
SSH接続の設定
次に、RaspberryPiのSSH接続モードに切り替えましょう。
以下のコマンドを入力し、メニュー画面を開きましょう。
raspi-config
以下の画面が出現しますので、画像通りの手順で設定をしていきましょう。
・9 About raspi-config を選択
・5 Interfacing Optionsを選択
・P2 SSH を選択
・「はい」を選択
・「了解」を選択
これでRaspberryPi側の設定は完了です。次に、TeraTermの設定をしていきましょう。
TeraTermの設定と接続
TeraTermを起動しましょう。
すると「新しい接続」という画面が登場します。
以下の画面のTCP/IPのホストに、先ほどメモしたIPアドレスを入力し、「SSH」にチェックが入っているかどうか確認しましょう。
「OK」ボタンを押すと、以下の画面で、ログインIDとユーザーパスが求められます。
ユーザー名はおそらく変更していなければ、「pi」のままだと思います。パスはRaspberryPiをセットアップしたときのパスを入力しましょう。
もし、RaspberryPiでパス設定等を初期設定のまま使用しているのであれば、初期設定は以下のような感じになります。
OKボタンを押し、以下のような画面が出現したら接続は完了です。
SSH接続を無効にする方法
でもやっぱり、別モニタでGUIベースでRaspberryPIを操作したいこともあるかと思います。
その時の方法も記載しておきます。方法は簡単です。
TeraTerm上で、以下のコマンド実行します。
sudo raspi-config
・「5.Interfacing Option」を選択
・「P2 SSH」を選択
・「いいえ」を選択 ※ここで「はい」にすると変更されずSSHのままです。
最後に、再起動すると設定が反映されます。
まとめ
今回は、RaspberryPiとTeraTermを使って、SSH通信でリモート接続の方法をご紹介しました。
これで、より簡単にRaspberryPiをWindowsPCと接続、操作ができるようになります。
また、余分なモニタも準備する必要がないので、省スペース・コストカットにもなるため、断然SSH接続をおススメします。
特にRaspberryPi初心者の方はおススメです。
コメント
[…] 【2020年最新 RaspberryPi】SSHでリモート接続ー新しいデスクトップ不要ーRaspberryPiをTeraTermを使って、SSH接続でWindowsPCとリモート接続していきます。 RaspberryPiやArduinoが安く手に入れられても […]