ラズパイで電子工作

ラズパイをリモートPCからssh接続できるようにする方法

ラズパイ、サーバーとして起動してるけどアクセスしたいときにモニターに接続するの面倒だな。

 

 

 

 

こんなことってありますよね。

今回は他のPCからリモート接続する方法を解説したいと思います。

 

エンジニアブロガーのプロコアラです。

10年間エンジニアとして働き、ラズパイコンテストで賞をとったこともあるラズパイマニアです。

この記事を見れば、リモート接続の方法が分かるようになると思います。

キーボードとマウスを接続するわずらわしさからも解放されます。

 

IPアドレスを固定する

ラズパイは通常の方法でセットアップを行った場合、DHCPでルーターが空いているIPアドレスを割り当てるようになります。

サーバーでラズパイを使用している場合、他のPCからアクセスしたい場合にはIPアドレスが変わると不便ですので固定します。

ラズパイ上から設定する方法とルーターから設定する2つの方法があります。

どちらか好きな方法でIPアドレスを固定してください。

 

ラズパイの設定でIPアドレスを固定する方法

ラズパイの設定画面からGUIで変更する方法を説明します。

ファイルから直接修正することもできるのですが、Linuxのバージョンによって操作するファイルが変わったりします。

GUIであれば、操作するファイルは意識しなくていいため、バージョンに依存しなくてよくなります。

Wifiマークを右クリックし、Wireless & Wired Network Settingsを選びます。

 

無線LANで接続している場合はinterfaceをwlan0に設定して、固定したいIPを設定します。

RouterとDNS Serversには、ルーター本体に記載されているアドレスを設定してください。

 

「route -n」コマンドでもDNSのアドレスを確認することができます。

 

ルーターの設定でIPアドレスを固定する方法(Elecom)

ルーターの設定でIPアドレスを固定する方法もあります。

この方法ではMACアドレスでIPアドレスを固定するため、ラズパイのOSを何回も再インストールしたりする場合などに有効です。

また、OSのアップデートなどによりIPを固定する方法が変わる心配がありません。

 

プロバイダにより異なると思いますので、私が使用しているElecomの例を紹介したいと思います。

各自、使用しているルーターの説明書をご覧ください。

アクセスアドレスとユーザー名、パスワードはルーター本体に記載されています。

記載されているアドレスをブラウザに入力すると、設定画面に移動します。ユーザー名とパスワードを聞かれますので入力してください。

 

WAN&LAN設定 => LAN設定 => 固定DHCP設定へ移動します。

固定したいIPアドレスとラズパイのMACアドレスを入力してください。

ラズパイのMACアドレスを知るためには、ifconfigコマンドを実行します。

ifconfigコマンドをターミナルで実行すると以下のような表示が出るはずです。

wlan0が無線LANで接続した際の情報です。

IPアドレスが192.168.2.113

MACアドレスはb8:27:eb:e8:86:7fであることが分かります。

 

ラズパイでssh接続を行う

ラズパイでssh接続を用いて、CUIでコンソールから操作する方法を説明します。

 

ラズパイで行う操作

ラズパイは初期設定ではsshが有効になっていないため、有効にする必要があります。

デスクトップ左上のラズパイマークから、設定=>Raspberrry Piの設定を選択します。

インターフェースタブのSSHを有効にしてください。(VNCも合わせて有効化しておきましょう)

右下にあるOKボタンをクリックして変更を反映させます。

隠れている場合は、ウインドウを上へ移動させてください。

コマンドから下記コマンドを実行する方法もあります。

sudo raspi-config

 

設定画面が表示されるため、Interfacing Optionsを選択します。

 

SSHを選択します。

 

「はい」を選択して有効化します。

 

リモートPCで行う操作

ターミナルからsshコマンドでラズパイに接続します。

使用しているPCのターミナルソフトで下記コマンドを実行します。

ssh pi@192.168.2.114

192.168.2.114は、先ほど設定したIPアドレスを設定してください。

パスワードを聞かれますので、ラズパイのパスワードを入力します。

接続できると以下のようにpiユーザーに切り替わります。

 

もしも、以下のようなエラーが出て接続できない場合はknown_hostsに古い情報があるため、IPアドレスの情報を消してください。

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ECDSA key sent by the remote host is
SHA256:gF5MyJI8NTn7lt+ApIko0QQQtZqEYmHetDm3sbaM9RI.
Please contact your system administrator.
Add correct host key in /Users/Gack/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /Users/Gack/.ssh/known_hosts:9
ECDSA host key for 192.168.2.114 has changed and you have requested strict checking.
Host key verification failed.

 

まとめ

ラズパイでssh接続する方法を解説しました。

後日、sshでパスワードを聞かれないようにするやり方とvncでGUIでリモート接続する方法を解説します。

ではでは!

 

 

ABOUT ME
律野桜哉
RPAコンサルタントのプロコアラです。長年のエンジニア経験を活かしてして外資系コンサルファームでRPAコンサルしてます。 転職ノウハウ、プログラミング、英語の勉強方法など分かりやすいように解説していきます。