macやwindowsからRaspberry PiにSSHして操作する方法について説明します。
SSHを許可する設定
まずは、ラズパイ側の設定になります。
左上のメニューから「設定」→「Raspberry Piの設定」でRaspberry Piの設定画面を開きます。
そして「インターフェイス」のタブからSSHのトグルをONにします。
これで、macなどの手元のPC等の端末からsshできるようになりました。
$ ssh ponkotsu@192.168.11.39
ユーザとパスワードはラズパイの初期設定で作成したアカウントと同じです。
IPアドレスはifconfigなどで確認しました。
IPアドレスの指定ではなくホスト名を指定してSSHする
また、ホスト名の設定をすることで、IPアドレスでの指定ではなく、ホスト名の指定でSSHできるようになります。
システムのタブから「ホスト名の変更」を選びます。
ホスト名を入力します。今回はponkotsupi
としました。
設定画面もOKを押すと再起動を求められるので、再起動しちゃいます。
$ ssh ponkotsu@ponkotsupi.local
このように、{ホスト名}.local
という名前で指定します。すると同じようにSSHできました。
SSH時のパスワード入力を省略する
ここまでの手順だとsshするたびにパスワードの入力を求められます。
そこで、公開鍵をラズパイ側に登録することで、パスワードの入力を省略したいと思います。
ラズパイ側で、以下のように.ssh/authorized_keys
というファイルを作成して、そこに公開鍵を入力しましょう。
ponkotsu@ponkotsupi:~ $ mkdir .ssh ponkotsu@ponkotsupi:~ $ cd .ssh ponkotsu@ponkotsupi:~/.ssh $ touch authorized_keys ponkotsu@ponkotsupi:~/.ssh $ chmod 600 authorized_keys ponkotsu@ponkotsupi:~/.ssh $ vi authorized_keys
※ 本当はssh-copy-idを使ったほうが良いかも
※キーペア等の作成とかは他のサイトを見ていただくのが良いと思うので今回は説明を省略させていただきます。以下、参考になりそうなサイトを貼っておきます。
公開鍵の登録が完了すると、パスワードの入力なしでSSHできるようになったかと思います。
$ ssh ponkotsu@ponkotsupi.local Linux ponkotsupi 6.1.0-rpi8-rpi-v8 #1 SMP PREEMPT Debian 1:6.1.73-1+rpt1 (2024-01-25) aarch64 The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. Last login: Wed Mar 6 16:00:02 2024 from ponkotsu@ponkotsupi:~ $
ユーザ名の入力を省略する
macでの手順を書きます。
.ssh/config
ファイルにホスト名とユーザ名を設定することで、ユーザ名の入力も省略できます。
$ cat .ssh/config HOST ponkotsupi.local User ponkotsu
これだけで、ユーザ名を省略した形でSSHすることができます。
$ ssh ponkotsupi.local Linux ponkotsupi 6.1.0-rpi8-rpi-v8 #1 SMP PREEMPT Debian 1:6.1.73-1+rpt1 (2024-01-25) aarch64 The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. Last login: Wed Mar 6 16:00:07 2024 from ponkotsu@ponkotsupi:~ $
ホスト名の入力も短くしたい
ここまで来るとホスト名も短くしたくなりますね。
さっきの.ssh/configにもうちょっと手を加えます。
$ cat .ssh/config HOST pi User ponkotsu HostName ponkotsupi.local
こうすることで、以下のようにssh pi
だけでSSHすることができます。
$ ssh pi Linux ponkotsupi 6.1.0-rpi8-rpi-v8 #1 SMP PREEMPT Debian 1:6.1.73-1+rpt1 (2024-01-25) aarch64 The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. Last login: Wed Mar 6 16:07:31 2024 from ponkotsu@ponkotsupi:~ $
最後に
これでいつでもサクッとSSHしてラズパイの操作ができそうですね!