前回、ラズパイ3にOSを導入しました。
ラズパイはディスプレイに接続しながら操作するのでもいいんですが、できれば使い慣れたPCからリモート接続してコマンド操作を行いたいところです。
今回は、同一LAN内において、SSHを利用したラズパイへのリモート接続の手順を書いておきます。
イメージこんな感じです。
ちなみに、ラズパイとクライアントPCのOSです。
ラズパイOS:raspbian jessie 8
クライアントPCのOS:Ubuntu16.04
SSHとは
そもそもSSHとはなんぞや?
Secure Shell(セキュアシェル、SSH)は、暗号や認証の技術を利用して、安全にリモートコンピュータと通信するためのプロトコル。パスワードなどの認証部分を含むすべてのネットワーク上の通信が暗号化される。
出典:Secure Shell - Wikipedia
SSHコマンド自体は簡単で、
$ ssh ユーザー名@接続先IPアドレス
で接続できます。
※Windowsをお使いの場合でも、Cygwinなどを利用すればSSHといったLinuxコマンドは利用可能です。
手順
早速、手順を書いていきます。
ラズパイのIPアドレスを固定
まずですが、ラズパイ側のプライベートIPアドレスを固定しておきましょう。
SSHコマンドのところで書いた、「接続先IPアドレス」を固定しようということです。
固定する理由ですが、ルーターはIPアドレスを動的に振り分けてしまうため、ラズパイ側のIPアドレスも何かの拍子で変わってしまいます。
そうなると変更のたびにいちいち接続先IPアドレスを変えなきゃならないので、固定してしまおうということです。
ラズパイ側で「/etc/dhcpcd.conf」に下記コードを追記します。
/etc/dhcpcd.conf
interface wlan0 #無線LANでのリモート接続を想定
static ip_address=192.168.1.50 #固定IPアドレスを指定
static routers=192.168.1.1 #デフォルトゲートウェイを指定
static domain_name_servers=192.168.1.1 #上記と同じ
いくつか留意点を。
- デフォルトゲートウェイとは、ルーター自身のIPアドレスのことです。
- 例えばルーターのIPアドレスが192.168.1.1 なら、固定IPアドレスには192.168.1.xxx を指定(xxxは1以外。参考:ルーターの基本をマスターする パソコン初心者講座
)
SSHの有効化
以上の設定で接続できるかと思ったんですが、ダメでした。
調べてみると、ラズパイ3ではデフォルトだとSSHが無効になっているようです。
というわけで、SSHを有効化します。
/boot 直下にsshフォルダを作成します。
$ sudo mkdir /boot/ssh
参考:RaspbianでSSHが繋がらなかったので繋がるようにする | ビビビッ
ラズパイを一旦再起動しましょう。
これでSSH接続できるようになりました。
ラズパイと同一LANのクライアントPCから、下記を実行しパスワード入力すれば接続完了です。
$ ssh ユーザー名@接続先IPアドレス
(参考)外部ネットワークからSSH接続
外出先だと、外部ネットワークからラズパイにリモート接続したい場合もあると思います。
その場合は、以下のようにして接続可能ですが、これについてはまた別途。(他のサイトでも説明されますね。)
- ラズパイのポートを開放し、インターネット経由でSSH
- VPNを利用して同一LANに接続してからSSH
以上でした。