目次
1.前回のまとめ
2.Raspberry Pi Zero 2 W
3.Windows11からSSH接続(Tera Term)
4.Windows11からSSH接続(Visual Studio Code)
5.まとめ
1.前回のまとめ
houwouです。
前回の投稿でRaspberry Pi Zero 2 Wの初期設定を終えた。
今回はWindows11から公開鍵暗号方式でSSH接続を試みる。
2.Raspberry Pi Zero 2 W
まずはRaspberry Pi Zero 2 WでSSHの設定を有効にするためにLXTerminalを開く。
ターミナルの画面が表示されたら忘れずにおまじないから。
sudo apt-get update
sudo apt-get upgrade
セットアップの時にアップグレードしていたと思ったのにかなり時間がかかった。
ターミナルに下のように入力すると設定画面が表示される。
raspi-config
1. System Options
を選択。
P2 SSH
を選択
セキュリティーリスクについての警告が表示されるが<はい>
を選択。
これでSSHが有効になった。
参考:Raspberry Pi (OS)へとSSHを有効化してログインする方法
次に、Raspberry Pi Zero 2 Wのセキュリティ対策としてpi
ユーザーを削除する。
まずは新規ユーザー[new_user]
を作成してpi
と同じユーザー権限を与える。
私の場合まだファイルなんて一切ないので必要なかったかもしれないが、/home/pi
のフォルダをすべて/home/[new_user]
にコピーする。
raspi-config
から自動ログインをオフにする。
ついでにGUIはもういらないのでコンソールで起動するように設定して[new-user]
でログイン。
ここまで出来たらpi
ユーザーを削除。
参考:買ったらまず実施!RaspberryPiのセキュリティ対策
そのままついでにIPアドレスを調べておく。
ifconfig
wlan0
のinet
にIPアドレスが表示されているのでメモ。
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (ローカルループバック)
RX packets 29318 bytes 7792599 (7.4 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 29318 bytes 7792599 (7.4 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.XXX.XXX netmask 255.255.255.0 broadcast 192.168.XXX.XXX
inet6 XXXX prefixlen 64 scopeid 0x20<link>
ether XXXX txqueuelen 1000 (イーサネット)
RX packets 1235961 bytes 1416260210 (1.3 GiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 443721 bytes 45834913 (43.7 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
3.Windows11からSSH接続(Tera Term)
準備が整ったのでRaspberry Pi Zero 2 WへのSSH接続を試みる。
Windows10の途中からOpenSSH Clientが標準機能になっているようなのでPowerShellやWindows Terminalなどを利用すれば特別なクライアントソフトなどなくてもSSH接続ができるようになっている。
でも私はバーガーパソコンにFedora Core 1をインストールして遊んでいたころから慣れ親しんでいるTera Termを利用することにした。
参考:windowsのsshクライアントはどれがいい?
[初心者向け?] Windows環境でOpenSSHクライアント(ssh.exe)を使う時に気を付けるべきこと
Tera Termをインストールしたら起動して先ほど調べたIPアドレスを入力してポート番号を確認する。
ユーザー名
とパスフレーズ
を入力してプレインパスワードを使う
を選択した状態で接続。
無事に接続できた。
続いてTera Termを使って公開鍵と秘密鍵を生成する。
鍵の種類はRSA
、ビット数は2048
といずれもデフォルトのままで生成。
生成された公開鍵と秘密鍵をC:/User/[user-name]/.ssh/
にでも保存しておく。(きっとどこでも問題ない)
参考:公開鍵暗号方式とは?初心者でもわかる公開鍵暗号方式の基礎
生成された公開鍵をRaspberry Pi Zero 2 Wにアップロードする。
普通だったらscp
コマンドで行うのだろうが、Tera Termならドラッグアンドドロップで直感的にアップロードできる。
初心者にはこういう機能がうれしい。
参考:SSHでローカルファイルをアップロードの流れ
アップロードした公開鍵を/home/[new-user]/.ssh/
に格納。
これで公開鍵暗号方式でSSH接続できるはずなので、再接続を試みる。
ユーザー名
を入力したらパスフレーズ
は空白のままRSA/DSA/ECDSA/ED25519鍵を使う
にチェックを入れて秘密鍵のパスを入力する。
無事に接続できた。
これでRaspberry Pi Zero 2 Wに電源以外のケーブル類を接続しなくても操作できるので、一つ煩わしさから解放された。
参考:公開鍵認証によるSSH接続 - Tera Termの使い方
4.Windows11からSSH接続(Visual Studio Code)
Tera Termも使いやすくて素晴らしいソフトなのだが、Raspberry Pi Zero 2 W上で開発を行うことを想定すると少し使いづらいのかなと思い至った。
なので開発環境として使い慣れているVisual Studio CodeからSSH接続を試みた。
まずは拡張機能のRemote - SSH
をインストールする。
次にc:/Users/[user-name]/.ssh/config
を新規作成し以下のように入力。
Host Raspberry_Pi_Zero_2_W
HostName 192.168.XXX.XX
User [new-user]
Port XX
UserKnownHostsFile /dev/null
PreferredAuthentications publickey
StrictHostKeyChecking no
PasswordAuthentication no
IdentityFile /Users/[user-name]/.ssh/[private-key]
IdentitiesOnly yes
LogLevel FATAL
あとは左下の><
ボタンを押してRemote-SSH: Connect to Host...
から先ほど作成した接続先Rasoberry_Pi_Zero_2_W
を選択する。
ターミナルも開いて無事に接続成功。
これなら開発しやすそう。
参考:Visual Studio Code で Remote SSH する。
5.まとめ
無事に公開鍵暗号方式でRaspberry Pi Zero 2 WにSSH接続できた。
配線の煩わしさからも解放され開発環境も整ったので、次回からはいよいよサーバー構築を行っていきたい。