ขั้นแรกให้ดาวน์โหลดตัว shellinabox ของ platform ที่เราใช้อยู่ ในหน้า Download นำไปไว้ใน home folder หรือตำแหน่งที่ต้องการ หลังจากนั้นให้พิมพ์
sudo dpkg -i shellinabox_2.10-1_i386.debเนื่องจากผมใช้ Ubuntu หารใครใช้ Redhat base ก็ทำตาม RPM เอานะครับ
หลังจากนั้นให้เรา start server shellinabox ขึ้นมา ด้วยคำสั่ง
sudo /etc/init.d/shellinabox startซึ่งเมื่อรันแล้ว shell in a box นี่จะรันอยู่บน port 4200 ด้วย protocol HTTPS ครับ
หรือ
sudo invoke-rc.d shellinabox start
ให้เราเปิด Browser ขึ้นมาแล้วเข้าไปที่ https://<ip เครื่องที่เราติดตั้ง>:4200 ก็จะขึ้นหน้าตาดังรูปครับ
![]() |
| หน้า login ที่เข้าจาก Shell In a Box |
หากใครไม่ได้เซ็ท iptable ไว้อาจจะอันตรายได้ ให้เราแก้ไขไฟล์ /etc/init.d/shellinabox เพิ่มบรรทัดตัวหน้าเข้าไป
SHELLINABOX_DATADIR="${SHELLINABOX_DATADIR:-/var/lib/shellinabox}"
SHELLINABOX_PORT="${SHELLINABOX_PORT:-4200}"
SHELLINABOX_USER="${SHELLINABOX_USER:-shellinabox}"
SHELLINABOX_GROUP="${SHELLINABOX_GROUP:-shellinabox}"
SHELLINABOX_ARGS="--localhost-only"
หลังจากนั้นเราจะให้ Apache Proxy มายังเจ้า shellinabox
หากใครยังไม่ติดตั้ง apache2 ให้พิมพ์
sudo apt-get install apache2และให้ทำการเปิด module ssl โดย default ไฟล์ public และ private kety จะถูกสร้างมาให้อยู่แล้ว แต่หากใครยังไม่มีให้พิมพ์
sudo apt-get install ssl-certหลังจากนั้นให้เปิด module ssl ด้วยคำสั่ง
sudo a2enmod sslแล้วทำการ config ไฟล์ /etc/apache2/site-available/default-ssl
sudo vim /etc/apache2/site-available/default-sslเพิ่มบรรทัดด้านล่างนี้ลงไป
<Location /shell>หากใครต้องการให้มีการทำ Basic Authentication ด้วยให้เพิ่มบรรทัดที่เป็นตัวอักษรหนาลงไป
ProxyPass https://localhost:4200/
Order deny,all
allow from 127.0.0.1 #หรือใครต้องการให้เข้าได้ทุก ip ให้เปลี่ยน 127.0.0.1 เป็น all แทน
</Location>
<Location /shell>สร้าง user สำหรับ Basic Authen ด้วยคำสั่ง
ProxyPass https://localhost:4200/
Order deny,all
allow from 127.0.0.1 #เปลี่ยน ip ที่อนุญาตได้ตามต้องการ
AuthUserFile /etc/apache2/.htpasswd
AuthName "Members Only"
AuthType Basic
Require valid-user #หากต้องการให้เข้าได้เฉพาะ user ที่ต้องการให้ใส่ชื่อ user <ชื่อ user> แทนที่ valid-user
</Location>
หลังจากนั้นให้เปิด Proxy module ของ apache2 ด้วยคำสั่งsudo htpasswd /etc/apache2/.htpasswd adminแล้วใส่ password ที่ต้องการลงไป
sudo a2enmod proxy proxy_http
Restart Apache2
sudo /etc/init.d/apache2 restart
![]() |
| หลังจาก login เข้าไปเราสามารถทำงานทุกอย่างได้ปกติ |
เพียงเท่านี้เราก็สามารถ shell เข้าไปได้ทุกที่ๆ ต้องการได้แล้ว โดยไม่จำเป็นต้องมี SSH client เลย


0 ความคิดเห็น:
Post a Comment