ace_gishniz
January 4th, 2012, 23:07
بعد از اختلال عمدی که تو پورت ssh انجام شده یه راه برای اتصال به سرور استفاده از برنامه های web based ssh هست. برنامه shellinabox یکی از این برنامه ها ست.
با نصب اون روی سرور میشه از طریق وب به ssh متصل شد و سرور رو کنترل کرد.
برای شروع ابتدا آخرین نسخه سورس برنامه رو از سایت سازنده ش دانلود و بعدش کامپایل و نصب میکنیم.
shellinabox - Web based AJAX terminal emulator - Google Project Hosting (http://code.google.com/p/shellinabox/)
قبل از دانلود کامپایلر رو نصب کنید:
yum install gcc make
در مرحله بعدی سورس نرم افزار رو دانلود میکنیم:
wget http://shellinabox.googlecode.com/files/shellinabox-2.10.tar.gz
و بعد اکسترک:
tar zxvf shellinabox-2.10.tar.gz
وارد پوشه اکسترک شده میشیم:
cd shellinabox-2.10
حالا برای کامپایل و نصب به ترتیب این دستورات رو اجرا میکنیم:
./configure
make
make install
حالا برنامه نصب شد و نسخه اجراییش با نام shellinaboxd هم در پوشه
/usr/local/bin
قرار گرفت.
حالا میتونیم گواهینامه ssl براش درست کنیم. واسه این کار اول وارد پوشه برنامه نصب شده میشیم.
cd /usr/local/bin
بعدش هم گواهی ssl رو با openssl میسازیم. قبلش مطمئن باشین که openssl نصبه در غیر اینصورت با دستور yum install openssl اونو نصب کنین.
دیگه واسه ساختن گواهی توضیح نمیدم. این دستورات رو به ترتیب اجرا کنین و برای هرکدوم مراحلشو خودتون طی کنین.
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
حالا این دستور رو اجرا کنین (دقیقا همین دستور رو) :
chmod 700 /usr/local/bin/shellinaboxd
خوب بعد از ساختن گواهی دیجیتالی و تنظییم پریمیژن shellinabox واسه ران کردن برنامه یه اسکریپت ایجاد میکنیم، دستور زیر رو اجرا کنین:
nano /etc/init.d/shellinabox
خوب با این کار یه فایل جدید ساختیم. حالا باید محتویاتشو وارد کنیم و بعدش سیوش کنیم. اسکریپت زیر رو کپی کنین تو فایل و بعد سیوش کنین:
#!/bin/sh
# chkconfig: 2345 95 20
# description: shellinabox running script
# processname: shellinabox
case "$1" in
'start')
/usr/local/bin/shellinaboxd --port=8000 --cert=/usr/local/bin/ --background=/var/run/SIAB.pid
;;
'stop')
SIABPID=`cat /var/run/SIAB.pid`
kill $SIABPID
;;
*)
echo "Usage: $0 { start | stop }"
;;
esac
exit 0
حالا این دستورات رو اجرا کنین:
chmod +x /etc/init.d/shellinabox
service shellinabox start
chkconfig shellinabox on
خب دیگه کارمون تموم شد. حالا برنامه رو پورت 8000 ران شده و حتی با ریستارت سرور بصورت اتوماتیک اجرا میشه (اگه میخوایین پورت رو تغیر بدین تو اسکریپت کافیه به جای 8000 پورت موردنظر رو بهش بدین).
حالا برای دسترسی به برنامه تو مرورگر اینترنت این آدرسو وارد کنین:
https://server_ip:8000
البته با یوزر روت نمیتونین وارد بشین. نمیدونم چرا هرچی هم گشتم نتونستم دلیلشو پیدا کنم. واسه اینکه بتونیم با روت لاگین بشیم اول یه یوزر درست میکنیم. با اون یوزر که ساختیم لاگین میشیم و بعد با دستور su - root یوزر رو به روت چنج میکنیم.
دستور ساخت یوزر (به جای username یوزرنیم مورد نظر رو بزارین):
useradd -d /home/username -s /bin/bash -c "optional name" username
passwd username
با نصب اون روی سرور میشه از طریق وب به ssh متصل شد و سرور رو کنترل کرد.
برای شروع ابتدا آخرین نسخه سورس برنامه رو از سایت سازنده ش دانلود و بعدش کامپایل و نصب میکنیم.
shellinabox - Web based AJAX terminal emulator - Google Project Hosting (http://code.google.com/p/shellinabox/)
قبل از دانلود کامپایلر رو نصب کنید:
yum install gcc make
در مرحله بعدی سورس نرم افزار رو دانلود میکنیم:
wget http://shellinabox.googlecode.com/files/shellinabox-2.10.tar.gz
و بعد اکسترک:
tar zxvf shellinabox-2.10.tar.gz
وارد پوشه اکسترک شده میشیم:
cd shellinabox-2.10
حالا برای کامپایل و نصب به ترتیب این دستورات رو اجرا میکنیم:
./configure
make
make install
حالا برنامه نصب شد و نسخه اجراییش با نام shellinaboxd هم در پوشه
/usr/local/bin
قرار گرفت.
حالا میتونیم گواهینامه ssl براش درست کنیم. واسه این کار اول وارد پوشه برنامه نصب شده میشیم.
cd /usr/local/bin
بعدش هم گواهی ssl رو با openssl میسازیم. قبلش مطمئن باشین که openssl نصبه در غیر اینصورت با دستور yum install openssl اونو نصب کنین.
دیگه واسه ساختن گواهی توضیح نمیدم. این دستورات رو به ترتیب اجرا کنین و برای هرکدوم مراحلشو خودتون طی کنین.
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
حالا این دستور رو اجرا کنین (دقیقا همین دستور رو) :
chmod 700 /usr/local/bin/shellinaboxd
خوب بعد از ساختن گواهی دیجیتالی و تنظییم پریمیژن shellinabox واسه ران کردن برنامه یه اسکریپت ایجاد میکنیم، دستور زیر رو اجرا کنین:
nano /etc/init.d/shellinabox
خوب با این کار یه فایل جدید ساختیم. حالا باید محتویاتشو وارد کنیم و بعدش سیوش کنیم. اسکریپت زیر رو کپی کنین تو فایل و بعد سیوش کنین:
#!/bin/sh
# chkconfig: 2345 95 20
# description: shellinabox running script
# processname: shellinabox
case "$1" in
'start')
/usr/local/bin/shellinaboxd --port=8000 --cert=/usr/local/bin/ --background=/var/run/SIAB.pid
;;
'stop')
SIABPID=`cat /var/run/SIAB.pid`
kill $SIABPID
;;
*)
echo "Usage: $0 { start | stop }"
;;
esac
exit 0
حالا این دستورات رو اجرا کنین:
chmod +x /etc/init.d/shellinabox
service shellinabox start
chkconfig shellinabox on
خب دیگه کارمون تموم شد. حالا برنامه رو پورت 8000 ران شده و حتی با ریستارت سرور بصورت اتوماتیک اجرا میشه (اگه میخوایین پورت رو تغیر بدین تو اسکریپت کافیه به جای 8000 پورت موردنظر رو بهش بدین).
حالا برای دسترسی به برنامه تو مرورگر اینترنت این آدرسو وارد کنین:
https://server_ip:8000
البته با یوزر روت نمیتونین وارد بشین. نمیدونم چرا هرچی هم گشتم نتونستم دلیلشو پیدا کنم. واسه اینکه بتونیم با روت لاگین بشیم اول یه یوزر درست میکنیم. با اون یوزر که ساختیم لاگین میشیم و بعد با دستور su - root یوزر رو به روت چنج میکنیم.
دستور ساخت یوزر (به جای username یوزرنیم مورد نظر رو بزارین):
useradd -d /home/username -s /bin/bash -c "optional name" username
passwd username