02.Webサーバ体験1バイオインフォ

#3【ラズパイWebサーバ】SSHの設定

基本情報技術者試験やプログラミング学習コースで基礎は身につけたけれど、実践が少なくて自信がイマイチな方へ。

本カテゴリーでは、Webサーバを自分で作り、Webアプリを1つ作るまでを連載して行きます。ツアーのようなものです。

「実際に何かを作る」を簡単に経験して、今後の自信にして頂ければ幸いです。

本ツアーの説明

ねこ研究員
ねこ研究員

ツアー全体の流れと注意事項をお伝えします。

全体のながれ

①パソコンを買って組み立てる。
→ ②いろいろ設定をする
→ ③Webサーバとするためのソフトをインストール
→ ④HTMLやPythonのプログラムをサーバにおく
→ 終わり。

今回の記事の位置

②いろいろ設定をする その2:周辺機器を外す/SSH設定

ねこ研究員
ねこ研究員

今回の設定をすると、なんとラズパイからキーボードなど全て外せちゃいます! 嵩張らなくなって今後が楽になるんです!そして「SSH」に関して経験値を積めますよ!

関連記事

ねこ研究員
ねこ研究員

本記事はこちらの続きです。
また本記事は連載の一部です。一番最初はこちらです。
これらもぜひお読みくださいませ!

注意事項 

環境と費用について、以下の点を先にお伝えします。

  1. メインの作業PCとしてMac OSのノートPCを使います。
    Windowsでの説明はしませんので、ご注意下さい。
  2. 基本的にお金はかかりませんが、最初のラズパイの購入に10000円くらいは使います。また、ディスプレイなど基本的な周辺機器を持っていない場合は追加で費用がかかります。
  3. 本記事は私と同じ環境(Raspberry Pi Model 3B+)で行った場合の内容です。例えば、Model 3B+以外での実施では本記事と異なる場合があります。ご注意ください。

キーボード等を外すには「遠隔操作」

それでは、解説を始めます!

ねこ研究員
ねこ研究員

本記事の目的:「キーボード等を外す」は「ラズパイを遠隔操作する」ことで達成されます!

まず、これまでの記事の通りに進めた方は、下記写真の状態のはずです。

つまり、ラズパイに「キーボード・マウス・ディスプレイ」が接続されている状態です。

これら「マウス・キーボード・ディスプレイを外して別のMacから遠隔操作する」が本記事の目的です。

ねこ研究員
ねこ研究員

「遠隔操作」、難しそうですね。

でも、大丈夫。とりあえず次に進みましょう!

遠隔操作のためには「SSH」

ねこ研究員
ねこ研究員

遠隔操作のためには、「SSH」という技を使います!

SSHはパソコンを遠隔操作する際に用いられる技術の名前です。

ねこ研究員
ねこ研究員

用いられる技術の用語???

確かに、初めての方がいきなり理解するのは少し難しいんです…。

そこで、遠隔操作といったら例えばSSHなんだな!くらいでOKです。
しかし、逆にいうと「遠隔操作と行ったら、あぁSSHね!」くらいになって頂けると嬉しいです。

ねこ研究員
ねこ研究員

ただ、SSH以外にも遠隔操作の方法はあるので、遠隔操作=SSHではないことは注意してくださいね。

ねこ研究員
ねこ研究員

また、一応ですがSSHの説明を下記の補足に記しておきました。怖かったら飛ばしてね!

詳細:SSHは「PC間で通信をする際に用いられるプロトコル」の1つです。プロトコルとは手順のことであり、PC間で通信をする際に「どんな情報をどういう順番で送るか」というルールを定めたものです。SSHの他にはHTTP (Hyper Text Transfer Protocol)などがあります。
プロトコルについて:初心者は「(インターネット)プロトコル」という謎の言葉に躓きます。私もそうでした。ですから、気にせずゆっくり慣れていきましょう。ここでは、一応私なりにプロトコルについて補足しておきますね。まず、具体例を考えてみましょう。例えば、PC1がPC2へ通信をするとします。その際、「私はPC1です→今回はwordファイルを持ってきました→wordファイルの中身はこちらでう」という手順が裏に実はありますです。しかしながら、PC1や2の通信は実際のところ「01000100101110110…」のような会話です。そこで、予め「最初のXX桁は名乗りの部分である」「続くYY桁が内容物の概略である」「その後のZZ桁は実際の中身である」とルールをPC1とPC2に伝えておく(=ファイルを置いておく)ことをしておきます。この「ルールをPC1とPC2に置いておく」をしないと、PC2は、PC1が送ってきた内容である「010001010…」をどこで区切れば良いか分からず、解釈されないわけです。まとめると、SSHが通信プロトコルの1つであるとは「SSHは、PC同士の通信の中でも特にパソコンを(安全に)遠隔操作する際に用いられる、情報を渡す順序などを定めたものである」ということです。

遠隔操作の第一歩:許可の話

それでは、やっていきましょう。

まず、基本的に初期設定ではどのPCも遠隔操作禁止になっています。

ねこ研究員
ねこ研究員

危険なので当たり前ですね…。

遠隔操作禁止の状態は、PCのセキュリティの設定で司られています。

従って、遠隔操作するためには、遠隔操作される側のセキュリティに関する設定変更が必要です。

遠隔操作の第二歩:SSH接続を許可させる

ねこ研究員
ねこ研究員

ラズパイのセキュリティ操作はどうすれば良いの?

少し前のラズパイでは少し難しい操作が必要でした。

しかし、Model 3B+で私と同じ環境ならば簡単です。

SSH/セキュリティ設定はターミナルから設定します。

ねこ研究員
ねこ研究員

なお、ラズパイのログインパスワードを知る人しか遠隔操作できないようになります。だから、心配しないで大丈夫ですよ!

 

  1. ラズパイの電源を入れて、ターミナルを起動しましょう。


  2. 以下のコマンドをタイプして「Enter」を押します。
    sudo raspi-config


  3. 「Enter」を押すと、下記のような画面になります。この画面は「ラズパイの通信に関する設定画面」です。
    ねこ研究員
    ねこ研究員

    SSHも通信設定の範疇に分類されるということですね!



  4. 上記画面の状態から、矢印キーで「5 Interfacing Options」にカーソルを進めます。


  5. 上記状態で「Enter」を押すと下記画面になります。


  6. 上記画面の状態から、矢印キーで「2 SSH」にカーソルを合わせます


  7. 上記状態で「Enter」を押すと下記画面になります。


  8. 「はい」にカーソルがある上記状態で「Enter」を押します。すると、下記画面になります。


  9. もう一度「Enter」を押して「Finish」にカーソルを合わせます。更にもう一度「Enter」を押すと、ターミナルの画面に戻ります。

 

ねこ研究員
ねこ研究員

以上で、ラズパイはSSHによる遠隔操作を受け付けるようになりました。

セキュリティが心配な方へ:遠隔操作に関しては、上記状態で既にパスワードを求められる状態になっているので問題ありません。

遠隔操作の第三歩:実際に遠隔操作してみる

ねこ研究員
ねこ研究員

お手元のMacからラズパイを操りましょう!

上記段落の操作が終わると、いよいよラズパイ側について「他のPCからのSSH接続を許可」の準備が整ったことになります。

あとは、手持ちのMacからラズパイにSSH接続するだけです!

  1. まず、お手持ちのMacのターミナルを起動してください。
    (※「ターミナル」は「Launch Pad」の「その他」の中に入っています。)
    起動すると下記のような画面になります。


  2. 以下のコマンドをタイプしてEnterを押します。
    ssh pi@"ラズパイのIPアドレス"

    ラズパイのIPアドレスは前回の記事で設定したものを選びます。前回記事の例では192.168.0.6なので、上記のコマンドは「ssh pi@192.168.0.6」となります。
    piはユーザー名です。パソコンにログインする際、「ユーザー名とパスワード」を求められますが、そのユーザー名のことです。ラズパイではデフォルトでユーザー名がpiなので、「pi@…」となります。例えば、もしユーザー名がnekoなら「neko@192.168.0.6」が正しいコマンドとなります。
  3. Enter を押すと下記画面になります。
    何か質問されますが、「Yes」と答えてOKです。


    上記質問の意味:「192.168.0.6に対して初めてアクセスするけれど、接続先は合っていますか?」という質問です。初めてアクセスするので「私たちのタイプミスじゃないの?」とPCが親切に聞いてくれているのです。今回は合っているので「Yes」とすればOKです。
    SSHの仕組み関しては、基本情報技術者試験のテキストやWebで調べて見たください。例えば、このサイトはわかりやすいと思います。
  4. 下記のように「yes」とタイプします。


    ねこ研究員
    ねこ研究員

    「y」だけではダメですよ!

  5. 上記状態で Enter を押します。すると、下記のようにパスワードを聞かれます。


  6. パスワードを打ちます。パスワード入力後、Enterを押すと下記画面のようになります。

    ねこ研究員
    ねこ研究員

    パスワードをタイプしても表示されないこともあります。しかし、それでもターミナルは認識しているのでOKです。


遠隔操作を実感しよう

ねこ研究員
ねこ研究員

前段落の最後の写真の状態は「ラズパイのターミナルの画面を起動している状態」です。それでは色々遊んでみましょう!

ねこ研究員
ねこ研究員

例えば、「ls」とタイプしてください!ラズパイのデスクトップが表示されるはずです。

ねこ研究員
ねこ研究員

今度は「ifconfig」をしてみましょう!前回の記事同様にラズパイの「ifconfig」の反応が返ってきますね!

ねこ研究員
ねこ研究員

SSHによる遠隔操作とは「ラズパイのターミナルを手元で出来るようになる」という感じのことだったのです!

キーボード等を片付けよう

ねこ研究員
ねこ研究員

ラズパイに「キーボード」や「マウス」を接続しておく必要はもうないですよね?

そうです!

以上の準備により、手持ちのMacからラズパイを操れるようになりました。

だから、ラズパイの「ディスプレイ・キーボード・マウス」は不要です。

「ディスプレイ・キーボード・マウス」の接続を解除して元の場所に閉まっちゃいましょう!

ねこ研究員
ねこ研究員

今後は、Macの「ディスプレイ・キーボード・マウス(等)」で代わりにラズパイを操作できるということですね。

ねこ研究員
ねこ研究員

こんなにコンパクトになってしまいました!

クローゼットや引き出しにも入れられますね!

最後に

今回はここまでです!

しかし、遠隔操作ができるようになったとはいえ、現在は「ラズパイのターミナルを操作できるのみ」です。

 

ねこ研究員
ねこ研究員

そこで、次回はさらに強力で必要不可欠な遠隔操作であるVNCを導入しますね。