ubuntuにshellinaboxというものをインストールしたけど即刻削除したという話
ちょっと作りたい物ができたので、webブラウザで動くターミナルエミュレータがほしいなーという話になりました。
で、みつけたのがshellinaboxという代物。よく見ると、debパッケージも配布されていたので、そのままインストール。
ドキュメントを見るかぎりでは、このまま http://localhost:4200 にアクセスすればshellが見えるっぽい感じなんだけど、どうもうまくいかない。ERR_SSL_VERSION_OR_CIPHER_MISMATCHというエラーが出ている。SSL証明書に問題がある模様。
そうだ、SSL証明書を自作しよう
色々調べてみると、ここのコメント欄に、同じ状況にに出くわした人物がいた様子。その人は以下のような感じで対処したようだ。
# openssl genrsa -des3 -out server.key 1024
# openssl req -new -key server.key -out server.csr
# cp server.key server.key.org
# openssl rsa -in server.key.org -out server.key
# openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
# cat server.crt server.key > certificate.pem
# shellinabox
実際のところ、このコマンドはroot権限で、/var/lib/shellinabox 配下で実行する必要があったし、最後のコマンドは shellinabox ではなく、shellinaboxd だった。
でもコレジャナイ
実際上記の方法でブラウザからターミナルエミュレータが実現できていた。しかし、コレジャナイ。なぜか。それは、webブラウザにアクセスしたときに、/bin/login がデフォルトで実行されるためである。
まあ考えなくてもこの仕様については当たり前だなーって思ったけど、任意のプログラムの子プロセスとして実行できるとうれしかった。そもそも今回の要件がおかしいのだ。
で結局何を作りたいの
あらかじめ定義されたスクリプトを、ボタン一発で実行できるやつを作りたい。「あっそれcapi(あーあーきーこーえーなーいー
実際のところ、デプロイツールっぽいけど、そういうのとはちょっと違うんだなぁこれが。
さて、本当に実現できるのかなw