Jaybanuan's Blog

どうせまた調べるハメになることをメモしていくブログ

Shell In A Box - Webベースのターミナルサーバ

はじめに

諸事情により、Webブラウザが使えるものの、sshクライアントが使えないという環境で、Linuxのターミナルにつなげる必要があったので、何か方法はないか調べてみた。 Shell In A BoxというHTTPベースのターミナルサーバがあったので、導入してみた。

環境

$ cat /etc/os-release | grep PRETTY_NAME
PRETTY_NAME="Ubuntu 22.04.3 LTS"

$ uname -srvm
Linux 6.2.0-34-generic #34~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Thu Sep  7 13:12:03 UTC 2 x86_64

インストールと設定

インストールは以下のコマンドを実行する。

$ sudo apt install shellinabox

設定ファイルは/etc/default/shellinaboxで、必要に応じて編集する。 ここでは、デフォルトのポート番号4200を443に変更した。 以下、設定ファイルの変更部分の抜粋。

# TCP port that shellinboxd's webserver listens on
SHELLINABOX_PORT=443

設定ファイルを保存後、サービスを再起動しておく。

$ sudo systemctl restart shellinabox.service

動作確認

ブラウザでhttps://localhostにアクセス。 証明書が無効なので警告が出るが、無視して進めて以下の画面が出れば成功。

参考

オリジナルの開発は終了していて(公式の?)forkがあるが、活発な活動ではなさそう。 github.com