Web終端之使用shellinabox在瀏覽器進行ssh登錄


shellinbox有一個內建的web server作為基本的web ssh client,允許你通過指定的端口訪問linux服務器的ssh shell,只要你的瀏覽器支持AJAX/JS/CSS就可以訪問,不需要額外的瀏覽器插件,十分的簡單操作,軟件輕量級,不過服務端需要openssl支持,debian和ubuntu官方還提供有deb,centos也有rpm包。

shellinabox是一款安裝在遠程linux端的軟件,可以理解成一個服務器,安裝后可以通過任何瀏覽器來訪問操作遠程linux主機。
 
查看linux系統版本信息:(Oracle Linux、Centos Linux、Redhat Linux、Debian、Ubuntu)
  cat /etc/issue 
 

安裝shellinabox

  centos 6下安裝shellinabox需要openssl的支持,簡單的安裝命令如下:
   [root@localhost centos]# yum install openssl shellinabox
  部分系統可能找不到shellinabox包,可手動下載rpm包安裝
   下載地址
  下載rpm包(從上面給的下載地址中找到自己需要版本的下載的地址):
   wget http://dl.fedoraproject.org/pub/epel/6/x86_64/Packages/s/shellinabox-2.20-5.el6.x86_64.rpm
  rpm安裝:
   [root@localhost centos]# yum install -y shellinabox-2.20-5.el6.x86_64.rpm
  rpm方式查看安裝了哪些文件及安裝位置命令:
   rpm -ql shellinabox
  無論哪種安裝方式,安裝后可編輯/etc/sysconfig/shellinaboxd配置文件來更改端口,默認是4200端口,其它配置如不了解可不更改,本文中只是簡單更改端口號為4993
 

二、安裝shellinabox

  • 在Debian / Ubuntu系統上:

    shellinabox在默認庫是可用的。所以,你可以使用命令來安裝它:      

    1. $ sudo apt-get install shellinabox

 

  • 在RHEL / CentOS系統上:

    首先,使用命令安裝EPEL倉庫:

    1. # yum install epel-release

    然后,使用命令安裝shellinabox:

    1. # yum install shellinabox

    完成!

 

 

 

二 修改配置
OPTS="--disable-ssl --localhost-only --user-css Normal:+white-on-black.css -s /admin:LOGIN"

三 重啟服務

 

2. 重啟shelinabox服務

在Debian/Ubuntu/Cenotos:

    $ sudo systemctl restart shellinabox

或者

    $ sudo service shellinabox restart

在RHEL/CentOS系統,運行下面的命令能在每次重啟時自動啟動shellinaboxd服務

    # systemctl enable shellinaboxd

或者

    # chkconfig shellinaboxd on

 

 

 

service shellinaboxd restart

 

 

 

 

 

 

 

4 # Basic options
5 USER=shellinabox
6 GROUP=shellinabox
7 CERTDIR=/var/lib/shellinabox
8 PORT=4993
9 OPT="--disable-ssl-menu -s /:LOGIN"

 

  啟動服務: service shellinaboxd start ,瀏覽器輸入:https:// 本機ip:4993訪問即可
  外網訪問問題:部分用戶本地瀏覽器可以訪問,遠程無法訪問,可能是端口被防火牆屏蔽了,解決方案為,編輯/etc/sysconfig/iptables文件,加入如下的第10行:

7 -A INPUT -p icmp -j ACCEPT
 8 -A INPUT -i lo -j ACCEPT
 9 -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
10   -A INPUT -p tcp -m state --state NEW -m tcp --dport 4993 -j ACCEPT
 
注意:新加入的行需要緊挨着放在22號端口行下面,終端使用iptables命令更改發現可能出現新加入行放在倒數第二行,還是會造成防火牆失效,遠程無法訪問
  重啟iptables服務:service iptables restart
  好了現在可以通過瀏覽器訪問Linux主機了,瀏覽器報ssl證書錯誤,直接跳過即可
   注意:shellinabox默認好像不允許使用root用戶登錄,新建一個普通用戶登陸后切換身份即可
 

2.修改完保存退出,重啟網卡服務

service iptables restart

3.查看端口開放信息

service iptables status
 
 
 
 

查看是否啟動

$ sudo netstat -nap | grep shellinabox

or

# netstat -nap | grep shellinabox
tcp        0      0 0.0.0.0:6175            0.0.0.0:*               LISTEN      12274/shellinaboxd

 

在RHEL/CentOS系統,運行下面的命令能在每次重啟時自動啟動shellinaboxd服務

  1. # systemctl enable shellinaboxd

或者

  1. # chkconfig shellinaboxd on


 

當我們采用root用戶登錄時,登錄失敗,普通用戶登錄是沒有問題的。

先以普通用戶登錄,然后su到root用戶。其他的工作就和SSH登錄是一樣的了。

 

修改配置文件etc/sysconfig/shellinaboxd  中OPTS節點

OPTS="--user-css Normal:+white-on-black.css --disable-ssl-menu -s /:LOGIN"

 

讓背景色是黑色

 

 

保存配置 重啟

chkconfig shellinaboxd on
sudo service shellinaboxd restart


修改shellinabox的配置

在Debian/Ubuntu系統上shellinabox配置文件的默認位置是/etc/default/shellinabox。在RHEL/CentOS/Fedora上,默認位置在/etc/sysconfig/shellinaboxd。
如果要更改默認端口,
在Debian / Ubuntu:
$ sudo vi /etc/default/shellinabox
在RHEL和CentOS / Fedora:
# vi /etc/sysconfig/shellinaboxd
更改你的端口到任意數量。因為我在本地網絡上測試它,所以我使用默認值。

重啟shelinabox服務。
在Debian/Ubuntu:
$ sudo systemctl restart shellinabox
或者
$ sudo service shellinabox restart
重啟shelinabox服務。
在RHEL/CentOS系統,運行下面的命令能在每次重啟時自動啟動shellinaboxd服務
# systemctl enable shellinaboxd
或者
# chkconfig shellinaboxd on
現在,去你的客戶端系統,打開Web瀏覽器並導航到:https://ip-address-of-remote-servers:4200
如果你改變了端口,請填寫修改后的端口。
7
你會得到一個證書問題的警告信息。接受該證書並繼續。
8
輸入遠程系統的用戶名和密碼。現在,您就能夠從瀏覽器本身訪問遠程系統的外殼。從現在開始,你可以通過本地系統的Web瀏覽器在你的遠程服務器隨意操作。
9
當你完成時,記得點擊退出。

 

 

 


參考
2 http://www.coooz.com/archives/530
3 http://www.bubuko.com/infodetail-2261104.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM