ハクソク

世界を動かす技術を、日本語で。

SSH経由のLinuxボックス:切断時にサスペンドされる

概要

shellbox.devは、SSH専用の仮想サーバーを簡単に作成・管理できるサービス。
2 vCPU/4GB RAM/50GB SSDの軽量インスタンスを提供。
従量課金自動コスト制御でコスト最適化が可能。
HTTPSエンドポイントSSH転送・scp対応
プリペイド式で未使用分の払い戻しもサポート。

shellbox.dev サービス概要

  • 軽量インスタンス:2 vCPUs、4GB RAM、50GB SSDを標準搭載
  • 純粋なSSHアクセス:特別なクライアントやブラウザプラグイン不要
  • 永続状態保持:切断時に一時停止、再接続で作業継続
  • 従量課金制:稼働中$0.05/時、停止中$0.005/時
  • 自動コスト制御:残高が$5未満で自動停止
  • HTTPSエンドポイント:各Boxに自動TLS付き公開URL割当
  • フルSSHサポート:ポート転送やscpも利用可能
  • プリペイド残高管理:未使用分の払い戻し可

基本コマンド一覧

  • Box作成
    • $ ssh shellbox.dev create <name>
      • 新しいBoxを作成
  • Box一覧表示
    • $ ssh shellbox.dev list
      • Box名・状態・URLを確認
  • Box接続
    • $ ssh -t shellbox.dev connect <name>
      • 指定BoxにSSH接続
  • Box削除
    • $ ssh shellbox.dev delete <name>
      • Boxを完全削除
  • 請求情報確認
    • $ ssh shellbox.dev billing
      • 残高・利用状況・残り利用可能時間を表示
  • 残高追加
    • $ ssh shellbox.dev funds <amount>
      • 指定金額を残高に追加
  • 払い戻し申請
    • $ ssh shellbox.dev refund <amount>
      • 未使用残高の返金申請
  • 支払い履歴
    • $ ssh shellbox.dev payments
      • 入出金履歴表示
  • ヘルプ表示
    • $ ssh shellbox.dev help
      • コマンド一覧と説明表示

Boxへのファイル転送

  • アップロード
    • $ scp -O file.txt shellbox.dev:dev1:/root/
      • ローカル→Boxへファイル転送
  • ダウンロード
    • $ scp -O shellbox.dev:dev1:/root/file.txt ./
      • Box→ローカルへファイル転送

shellbox.dev の特徴・メリット

  • 即時利用開始:コマンド一発でBox作成・接続可能
  • コスト最適化:利用停止時は自動で低料金、残高不足時は自動停止
  • 安全な公開:自動TLS付きHTTPSエンドポイント付与
  • 柔軟な支払い:プリペイド式・QRコード決済・払い戻し対応
  • SSHに特化:開発や検証、CI/CD用途に最適

利用シーン例

  • 開発・テスト環境構築:短時間だけサーバーを使いたい場合
  • CI/CDパイプライン:一時的なビルド・デプロイ用サーバー
  • リモート作業:どこからでもSSHで安全にアクセス
  • コスト管理重視:無駄な課金を避けたい場合

注意事項

  • プリペイド残高必須:事前に残高追加が必要
  • 自動停止機能:残高不足時はBoxが自動停止
  • 完全SSH操作:Web UIはなく、全操作はSSHコマンドベース
  • Box削除は不可逆:deleteコマンド実行時は注意

shellbox.devは、シンプルかつ安全なリモート開発環境を求めるユーザーに最適なソリューション。
SSHコマンドのみで完結し、コスト管理やセキュリティも万全。
短期間の利用や検証用途に特におすすめ。

Hackerたちの意見

これ、前にここにあったexe.devにかなり似てるね。誰か、どう違うか知ってる?
shellbox.devは少なくとも2〜3年は前からあると思うけど、編集したら、2日前にShow HNがあったみたい。似たような名前のサービスを考えてたのかも。
exe.devはサブスクリプションだと思う。Shellbox.devでは、資金があって接続してない時はほんの少ししか払わないよ。
公開IPなしで2/4/50 VPSが月$36か… まぁ、非定期利用向けってのは分かるけど、サスペンド状態で$0.005/時間($3.6/月)でも高すぎると思う。同じ構成のHetznerは、24/7稼働の公開IPv4アドレス付きVPSがたったの$4.09/月だし。
そうだね、確かにその点は重要だね。サスペンド価格は他の選択肢よりかなり安くないと。見直す必要があるね。でも、ウェブコンソールとか扱わなくて済むシンプルさの利点もあるし、そういうのを楽しむ人もいるかも。
Flyのスプライトと比較するのも面白いね:https://sprites.dev/#billing
比較するならEC2スポットだよね?EC2の方がいい感じだけど、UIがちょっと面倒かも。
価格が全然意味不明だよ。AWS EC2のt4g.small(2 vCPUs、2 GBメモリ)を50 GBのEBS SSD(gp3)付きで、月16.26ドルで手に入るよ。
それに、もっと安い他のサービスも時間単位で課金されてるよ。
現在の価格はdev.exeと同じくらいで、月20ドル(サスペンドなし)だし、sprites.devはサスペンド中は高めだけど、稼働中は安いよ。
これは面白いアイデアだね。自分のユースケースのために、firecrackerとカスタムのgolang SSHクライアントを使って、こんな感じのものを作ろうとしたことがあるよ(価格設定の抽象化と接続方法が、少なくとも自分にとっては難しい部分だった)。これの下にあるスタックは何を使ってるの?ローンチ頑張って!このアイデアは価格モデルに関してrailwayに似てると思う。数コメント前に話したけど、面白いアイデアだし、こういう価格モデルの代替案が出てきてるのを見てるよ。それと、クラウドプロバイダーを使ってるのか、自分で構築してるのか、詳しいことを知りたいな。良い一日を!返事楽しみにしてるよ!プロジェクト頑張ってね!
こんにちは、興味を持ってくれてありがとう!これは全部PythonとAsyncSSHパッケージで書かれてるよ。VM用にFirecrackerを使って、RAM用のメモリマップファイルを使ってる。請求にはPaddle、証明書用のリバースプロキシにはCaddyを使ってる。すごく大きなベアメタルインスタンスの上で動いてるんだ。オープンソースにすることも考えてるけど、恥ずかしくないように公開できるようにするにはもう少しコードの手直しが必要だね :)
すごくクールなアイデアだね!ビジネスモデルのシンプルさが好き!SSHにはたくさんの素晴らしい機能があって、ターミナル好きには最高の使い心地だよね。ほとんどの人はクラウドコンピュートにSSHで接続したいと思ってるし。SSHプラットフォームの創設者として(https://pico.sh)、ようこそ!頑張ってね!それと、SSHについて話したいことがあったら、気軽に連絡してね!
最近こういうのが多いよね。VPSでこれをやる方法についてブログ記事をシェアしなきゃ。lxdのインストールとセットアップに2つのコマンドだけで済むし、クライアント側のbash関数でtmux経由で接続して、終わったら削除するだけ。これらのサービスをセルフホスティングするのは簡単すぎて、データの管理やスペックのコントロールができるのがいいよね。
同じアイデアで、shelley-lxcに取り組み始めたよ: https://github.com/jgbrwn/shelley-lxc まだ進行中/アルファだけど、コア機能はコンセプト実証として動いてる。こういうのに取り組むのは超ワクワクするね。
笑っちゃうよね。最初はYelpのdockershに触発されて、2年前に同じコンセプトの機能的なMVPを作ったんだ。カスタムのGo sshd-proxyを使って、Kubernetesでkata-containerをバックにしたポッドを立ち上げる感じ。個人的には短期間だけ使ってみたけど、テストする時のちょっとした時間節約には役立ったよ。でも、マネタイズするのはちょっと気が引けた。こういうのがいくつか出てきてるのを見ると、早めに手を出せばよかったかなって思う。セルフホスティングに関しては、今はFOSSプロジェクトもいくつかあるみたいだね。例えば、https://containerssh.io/
他の人も指摘してるけど、あんまり強いオファーじゃないね。でも、もし価格/パフォーマンス的に競争力があるなら、これを使う具体的なケースってあるのかな?例えば、A100レベルのGPUとか、自分のノートパソコンにはないハードウェアを提供してくれるなら最高だよね。ログインして仕事して、次に必要になるまで忘れちゃう感じ。でもそれ以外だと、もっと伝統的なものがいいかな?DigitalOceanのドロップレット、AWSインスタンス、Linode VPSみたいな。少なくともマネージドDockerコンテナがあればいいし。たとえ技術的に高いしパフォーマンスが劣っても、月5ドルくらいの話だし、スケールアップや追加ストレージも簡単にできるし、実質的には全部自分のものだし。実際にこのオンデマンド型サービスを使う方がいいケースってあるのかな?(本当にオンデマンドハードウェアの話をしてるなら別だけど。)
こういうサービスでは、UXの改善が主な価値になると思う。特定のツール(nmap、tmux、curlなど)がプリコンフィグされた環境を提供することとかね。SSHで接続して、ウェブパネルに悩まされないのがいい。学生サーバーを24/7稼働させたくない学習環境でも価値があるかも。それ以外では、よりパワフルなハードウェアへのアクセスを提供するのが一番の使い道だと思う。
高価なGPUインスタンスでこれを使う予定。そうすれば、動かしっぱなしを忘れないからね。安いインスタンスにはあまり役立たないかな。
確かにいいポイントだね。高価なインスタンスにはこっちの方が良い提案かも。
メインの作業用コンピュータの他に、もっとパワフルなマシンにアクセスするのに使えると思う。でも、停止中のVMにお金を払うのは難しいよね。異なるイメージにプリインストールされたツールを提案するってアイデアがあったけど、いい考えだと思う。SSHだけでのワークフローもクールだね!
その5ドルでのバランスのカットオフには問題があるな。じゃあ、どうやって残高を全部使うの?
変だよね。$0がもっと明白な数字だと思ってた。シェルコマンドで返金できるみたいだから、お金が閉じ込められることはないみたい。
いろんな意味で無関係だけど、逆の問題を抱えてる。Linuxマシンをサスペンドすると、SSH接続が切れちゃうんだ。これに対する良い解決策知ってる人いる?PS: tmuxやscreenのことは知ってるけど、接続を維持する解決策が欲しいんだ。よくscreenセッションを開始するのを忘れちゃうから。
tmux使ってみて。SSHで接続してtmuxセッションを始めるんだ。もし接続が切れたら、またSSHで入ってtmuxセッションに再接続できるよ。GNU Screenも別の選択肢だね。
サーバーとクライアントでMoshを使うと、サスペンド中やネットワークが切れた時でもSSH接続が続くよ。https://github.com/mobile-shell/mosh
「WDYM lost? do you roam?」ってどういう意味?ローミングしてるの?前はシンプルなOpenVPNを使ってサーバーに接続してたんだ(パブリックIP経由でVPNトンネルを通してルーティングしてた)。オフィスから家に帰る途中でもSSH接続は維持されてたよ。多分、両方の側でkeepaliveをあまり攻撃的にしない必要があるね。VPNは家に帰ったら再接続したけど、tun0デバイスとそのローカルIPはそのままだったから、SSH接続も維持されてた。もしローミングしないなら、相手側がTCP keepaliveやSSHプロトコルのkeepaliveを使って接続を切っちゃうかも。そこを調整できないなら、あまりできることはないよ。他の解決策としては、Mosh(モバイルシェル;試したことはないけど)や、相手側でscreenやtmuxを動かしておいて、すぐに再接続した後に前の続きから始めるってのもアリだね。