パスワードを忘れた? アカウント作成
11605656 journal
日記

oyadipipiの日記: shell in a box を使ってみた 2

日記 by oyadipipi

shell in a box を使ってみた

shell in a box は、web based ssh の一つで、webブラウザを使ってコンソールログインするためのサーバサービスです。
https://code.google.com/p/shellinabox/

sshで素直にログインできるなら不要なのですが、
http proxyを通さないとインターネットに出られない環境からサーバにログインしたい場合、
サーバ側でshell in a boxを起動しておけば、ブラウザからhttpsアクセスすることで
ブラウザがterminal emulateしているかのようにログインが可能になります。
sshクライアントが無い環境でも、ブラウザがあればログインできるというメリットもあります。

centos6.5でのインストールから起動まで。
必要なパッケージは、opensslとshellinaboxの2つだけだと思われます。
shellinaboxはEPELにあるので、有効になっていない場合は以下のようにEPELを有効化します。
# wget http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
# rpm -Uvh epel-release-6*.rpm
# yum -y install openssl
# yum -y install shellinabox

/etc/sysconfig/shellinaboxdを編集して待ち受けポート番号を変える(変えなくても良い)
PORT=4200

/etc/sysconfig/iptablesを編集して通信が通るように。(必要な場合)
-A INPUT -m state --state NEW -m tcp -p tcp --dport 4200 -j ACCEPT
# service iptables restart

あとは起動する。
# service shellinaboxd start

待ち受けポートに、ブラウザで接続。
https://hogehoge.example.com:4200/
証明書の警告エラーが出ますが、自己証明書のためです。無視して続行。
login: と表示されていたら成功。
idとpwを入力して、ログインできることを確認します。

上記手順では初回起動時にデフォルトで自己証明書が作成されますが、
自分のサーバ証明書も利用できます。
/var/lib/shellinaboxに、certificate-hogehoge.example.com.pemを配置。
ファイルは証明書と、PW無し秘密鍵の連結とします。
# openssl rsa -in cert.key -out cert.key.dec
# cat cert.cer cert.key.dec > cert.pem
# mv cert.pem certificate-hogehoge.example.com.pem
ユーザや権限も設定。
# chown shellinabox:shellinabox certificate-hogehoge.example.com.pem
# chmod 600 certificate-hogehoge.example.com.pem
停止、起動すれば、適用されます。
# service shellinaboxd stop
# service shellinaboxd start

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by Anonymous Coward on 2014年09月30日 8時34分 (#2684978)

    まあそこまでセキュリティひどくはないのだろうけど

    • by oyadipipi (19799) on 2014年09月30日 23時20分 (#2685471) 日記
      telnet.cgiを知らなかったので、ぐぐってみました。
      昔からこういうのあるんですねー。お手軽に入れられて、perlがあれば動かせるのがメリットか?
      サーバの設定によるでしょうが、apache:apacheの権限で動くので、それで読めないファイルはダメなようですね。

      shell in a boxは、ユーザログインした権限になるので、rootで入られたら最悪ですね。
      一般的にはrootでログインできないようにしておくでしょうけど。
      sshでも同じですが、shell in a boxはid/pw認証しかできないので、そのレベルのsshと同じ程度と思ってます。

      vi使えるので、telnet.cgiよりは高機能ってことで。
      親コメント
typodupeerror

アレゲは一日にしてならず -- アレゲ研究家

読み込み中...