ラズパイを使うとき、ラズパイからモニターに接続するのはめんどう
そこで他のPCからリモート接続して操作できるようにしよう
1.ラズパイ側でssh、VNC有効
2.ラズパイ側のネットワーク設定
3.クライアントPC(接続元)から接続
1.ラズパイ側でssh有効
2.ラズパイ側のネットワーク設定
以下の3つの設定をする
プライベートIPを固定する
ルーターのIPを指定
DNSサーバIPの指定
プライベートIPは自分の好きなものを指定
ルーターIPに近いIPを指定すると良い気がします
ルーターのIPは
コマンドプロンプト起動ー>ipconfig入力ー>いくつか出た情報のデフォルトゲートウェイの欄の右に表示されているものがそれにあたる
DNSサーバーIPの指定は
とりあえずルーターのIPを指定しとけば良さそう
以下のファイルを編集
sudo vi /etc/dhcpcd.conf
ファイルの末尾に以下を追加
interface eth0
static ip_address=192.168.11.100/24 # プライベートIPを固定する
static routers=192.168.11.1 # ルーターのIPを指定
static domain_name_servers=192.168.11.1 # DNSサーバIPの指定
ラズパイが複数ある場合はこちらのページを参考に
3.クライアントPC(接続元)から接続
ssh接続は以下のようにターミナルソフトで入力して接続
ssh pi@IPアドレス
(ssh {ユーザー名}@{IPアドレス})
または
ssh pi@raspberrypi.local
(ssh {ユーザー名}@{ホスト名}.local)
4.VNC接続(同一ネットワーク間)
2019時点に発売されたラズパイ4(raspbian)ではデフォルトでVNCサーバ(RealVNC)が入っている
macからVNC接続する場合はMacのデフォのVNCクライアントでは接続できなかった
こちらの記事を参考にやってみた
そのため以下の記事を参考にやると良い
5.VNC接続(外部ネットワークから)
外出先で家のラズパイに接続するためにやることを書く
といっても結論から言うとRealVNCのアカウントを作ってそのアカウントでログインするだけでよい
詳しくはこちらの記事を参考
公開鍵認証方式で接続する
先程SSH接続できることを確認しましたが、接続するたびにパスワードを入力するのは面倒だったり、同一ネットワークではないところから接続できなかったりする
その問題を解消するべく、公開鍵認証方式を使うことにする
こちらの記事を参考に
また以下も参考になる
# ラズパイ側
# ディレクトリ作成
pi@raspberrypi:~ $ mkdir .ssh
# クライアントPC側(自分の場合はMacだがWinの場合はgit bashを起動してやること)
# 鍵を作成
bash-3.2$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/username/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
# 公開鍵をラズパイへ転送
#scp -P [ポート番号] [id_rsa.pubのファイルパス] [User名]@[Raspberry Piの固定ローカルIPアドレス]:[転送先のファイルパス]
bash-3.2$ scp -P 22 /Users/username/.ssh/id_rsa.pub pi@192.168.11.100:/home/pi/.ssh
# ラズパイ側
pi@raspberrypi:~/.ssh $ ls
id_rsa.pub
pi@raspberrypi:~/.ssh $ cat id_rsa.pub >> authorized_keys
pi@raspberrypi:~/.ssh $ ls
authorized_keys id_rsa.pub
pi@raspberrypi:~/.ssh $ chmod 600 authorized_keys
pi@raspberrypi:~/.ssh $ rm id_rsa.pub
# クライアント側
# ラズパイへ接続(この時点ではまだパスワード入力が求められます)
bash-3.2$ ssh pi@192.168.11.100 -i /Users/username/.ssh/id_rsa -p 22
# ラズパイ側
pi@raspberrypi:~/.ssh $ sudo vi /etc/ssh/sshd_config
PasswordAuthenticationの記述を探して以下のようにyes→noに修正
#PasswordAuthentication yes
PasswordAuthentication no
rebootして設定を反映する
これやって再度接続してみたけどまだパスワード求められる…
なぜだ・・・
それについては以下のページが参考になった
https://www.itmedia.co.jp/help/tips/linux/l0404.html
パスワードを設定している場合はssh-agentというデーモンプログラムを実行して入力を代行させる必要があるそうだ
なのでパスワード設定ありで公開鍵認証でログインする場合はssh-agentを利用、それが嫌ならパスワード設定をなしにする必要がありそう
LAN外からRaspberry PiにSSH接続
ラズパイが接続しているルーターの設定でポートの開放を行い外部から接続できるようにする
こちらに関してはルーターによって変更するツール、サービスは違います
ちなみにうちのルーターはBUFFALOの
WHR-G301Nなので以下の記事も参考に進める
WHR-G301N ポート開放WHR-G301N関連メニュー PS3 DMZWiiやDSそれにPSPやXBOXの方はこちらの設定が簡単です Wi-Fiつなぎ方スマートフォンやタブレットPSVITAを繋ぎたい WHR-G301Nアマゾンの詳細評価 バッファローWHR-G3
以下に接続
id、passwordを求められるが特に設定していなければ
id:root
password:なし
でログインできる
ちなみにgoogle chromeだと表示がうまくされないページだったのでIEで表示するのが無難
コメント