ポンコツエンジニアのごじゃっぺ開発日記。

いろいろポンコツだけど、気にするな。エンジニアの日々の開発などの記録を残していきます。 自動で収入を得られるサービスやシステムを作ることが目標!!

ラズパイをリモート操作!効率的なSSH操作のコツ

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を使ったほうが良いかも

※キーペア等の作成とかは他のサイトを見ていただくのが良いと思うので今回は説明を省略させていただきます。以下、参考になりそうなサイトを貼っておきます。

zenn.dev

公開鍵の登録が完了すると、パスワードの入力なしで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してラズパイの操作ができそうですね!

お問い合わせプライバシーポリシー制作物