【ラズパイ】他のPCからssh、VNC接続操作するためにやったこと

ラズパイを使うとき、ラズパイからモニターに接続するのはめんどう

そこで他の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接続できることを確認しましたが、接続するたびにパスワードを入力するのは面倒だったり、同一ネットワークではないところから接続できなかったりする

その問題を解消するべく、公開鍵認証方式を使うことにする

こちらの記事を参考に

また以下も参考になる

https://tool-lab.com/raspi-key-authentication-over-ssh/

https://from-age35.com/1342.html

http://skylab.hateblo.jp/entry/2018/03/11/004603

# ラズパイ側
# ディレクトリ作成
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なので以下の記事も参考に進める
https://www.akakagemaru.info/port/whr-g301n.html

以下に接続

http://192.168.11.1

id、passwordを求められるが特に設定していなければ

id:root

password:なし

でログインできる

ちなみにgoogle chromeだと表示がうまくされないページだったのでIEで表示するのが無難

シェアする

  • このエントリーをはてなブックマークに追加

フォローする