余っていたRaspberry PiでSSH運用の開発環境を作ってみた話

どうも。binaryです。
今回は余っていたRaspberry Piを使って個人VPS的なものを作ってみた話です。

きっかけ:手軽な開発環境が欲しかった

これまでずっと「手軽に使える開発環境」を探してきました。
SBCの検討をしたのもその一環です。

ただ、いざ使おうとすると悩みどころが多い。

  • SBCは
    • モニタ
    • キーボード
    • 電源
      を用意する必要がある
  • クラウドサーバーは
    • 常時起動だと意外と月額がかかる
    • ちょっとした検証にはオーバースペック

手元にあって、いつでもSSHで入れる軽い開発環境が欲しいな…」
そう思っていたところ、棚の奥から Raspberry Pi 3B が出てきました。

これ、Ubuntu Serverを入れてSSH運用すればちょうどいいのでは?

ということで、
ラズパイ+Ubuntu Server+SSH+VPN という構成で、ネットワーク越しに使える開発環境を作ってみることにしました。


実際にやってみた

Ubuntu ServerをmicroSDに書き込む

まずはOSの準備から。

使用したもの

手順は以下。

  1. PCにSDカードを挿す
  2. SDFormatterでフォーマット
    (トラブル回避のため、毎回やる派です)
  3. Raspberry Pi Imagerを起動
  4. 「OSを選ぶ」→「Other general-purpose OS」→
    Ubuntu Server 24.04 LTS(64bit) を選択
  5. 設定は特に変更せず書き込み開始

ここでトラブル発生。

書き込み終了間際でエラーを吐く…

結局、SDカード自体が怪しかったようで、
別のSDカードに変更したらあっさり成功しました。


Ubuntu Serverの初回セットアップ

SDカードをラズパイに挿入して起動。

今回は モニタ+キーボードを一度だけ接続して初期設定を行いました。

主にやったこと

  • 初期ユーザー設定
  • locale / timezone の確認
  • SSHサーバーの有効化(openssh-server
  • Wi-Fi設定

Wi-Fiは netplan を使って設定しました。

network:
  version: 2
  renderer: networkd
  wifis:
    wlan0:
      dhcp4: true
      access-points:
        "SSID名":
          password: "パスワード"

設定後に

sudo netplan apply

で接続確認。


Tailscaleのセットアップ(ここが一番楽)

今回は ポート開放なしで外部からSSH接続したかったので、
VPNには Tailscale を採用しました。
https://tailscale.com/

ラズパイ側

curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up

ブラウザで認証するだけで完了。

なぜTailscale?

  • ポート開放不要
  • NAT越えを意識しなくていい
  • 個人利用なら無料枠で十分

正直、この手軽さを一度味わうと戻れません。


スマホ側のセットアップ

今回は スマホからSSH接続する構成にしました。

Androidで使ったもの

  • Termux(CUI環境)
  • Tailscaleアプリ

それぞれインストール後、

  1. Tailscaleアプリでログイン&VPN接続
  2. TermuxでSSH
ssh ユーザー名@tailscaleのIPアドレス

無事、接続成功。


実際に使ってみての感想

率直な感想としては、

思っていた以上に快適

です。

  • ポート開放不要で安全
  • 家でも外でも同じIP感覚で使える
  • スマホからでも普通に作業できる

Tailscaleのおかげで、
ネットワーク周りの面倒くささがほぼゼロなのが大きいですね。


今後やってみたいこと

次は以下を試す予定です。

  • Flutterのビルド環境構築
  • Dockerの軽量運用

ただし一点だけ懸念が。

Raspberry Pi 3B(RAM 1GB)でどこまで耐えられるのか…

ビルド系は正直厳しそうですが、
軽い検証環境・常時起動サーバーとしては十分だと感じています。


まとめ

  • 余っているラズパイは SSH開発環境として再利用できる
  • Ubuntu Server+Tailscaleの組み合わせが非常に楽
  • 「ちょっとした開発環境」が欲しい人にはかなりおすすめ

同じようにラズパイが眠っている人は、
ぜひ一度SSH運用を試してみてください。

それでは、また。

コメント

タイトルとURLをコピーしました