Web-based terminal: AjaxTerm

Ajaxterm è un terminale utilizzabile da web scritto in pyton e ajax installabile facilmente in tutti i sistemi operativi posix (il piccolo how-to che segue è orientato all’uso con SME Server).
Utilizzandolo in maniera congiunta con un reverse proxy si potrà facilmente raggiungere il terminale dei propri server usando solo http o https, in barba ai firewall configurati per chiudere tutto tranne la navigazione web.

Per prima cosa si scarica l’ultimo pacchetto disponibile di AjaxTerm e lo si scompatta in /opt
cd /opt
wget http://antony.lesuisse.org/qweb/files/Ajaxterm-0.10.tar.gz
tar zxvf Ajaxterm-0.10.tar.gz

Potremo già farlo partire con
cd Ajaxterm-0.10
./ajaxterm.py

Di default AjaxTerm è in ascolto sulla porta 8022 ma basta creare una regola per apache usando mod_proxy per poterlo raggiungere sulla porta 80.
Per fare questo si può utilizzare ProxyPass, un contrib che si integra nel server manager di SME Server e permette la creazione veloce di url e virtual domain da redirigere verso altri server; l’obbiettivo è quello di raggiungere AjaxTerm all’indirizzo https://dominio/AjaxTerm/ .

Se ProxyPass non è installato si può scaricare da qui e fare
yum localinstall smeserver-proxypass-0.0.3-1.noarch.rpm
signal-event post-upgrade
signal-event reboot

Usando ProxyPass si crea una nuova URL entry con i seguenti parametri:

Path = /ajaxterm/
Target = http://localhost:8022/
Description= Ajaxterm
http= no
https = yes

In caso si visualizzasse un errore conviene far ripartire Apache manualmente
/etc/init.d/httpd-e-smith restart

Ora all’indirizzo https://dominio/ajaxterm/ (lo slash finale è necessario) dovrebbe essere disponibile in tutto il suo splendore AjaxTerm.

In caso lo si voglia far partire in automaticamente all’avvio del server basta aggiungere
./opt/Ajaxterm-0.10/ajaxterm.py -d
nel file /etc/rc.d/rc.local

Unici limiti che ho riscontrato sono l’impossiblità di loggarsi come root (basta fare login come altro utente e usare su) e a volte la chiusura della connessione.
Normalmente in SME Server non è permesso il login al terminale di utenti diversi da root o admin, per poter dare questa possibilità ad un altro utente si può usare in comando chsh per cambiare la sua shell di login, come root basta dare
chsh -s /bin/bash nome_utente

4 pensieri riguardo “Web-based terminal: AjaxTerm”

  1. Bellissimo!
    Ho seguito l’howto e tutto è andato alla prima!
    Grazie mille!!!

    Unica svista: signal-event postupgrade invece che post-upgrade 🙂

  2. …una addenda: ho usato proxypass (come hai spiegato di fare) per entrare in MLdonkey fuori della rete locale e funziona!
    Due piccioni con un howto! 😉

  3. E’ stato anche il mio primo uso!
    Un consiglio (probabilmente lo avrai già fatto): aggiungi la richiesta di password a MLDonkey altrimenti chiunque può “sbirciare” tra i tuoi download.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.

WordPress Appliance - Powered by TurnKey Linux