====== Ajaxterm ====== = Ajaxterm - Web Based SSH Terminal Client = If you are behind a firewall, and only have internet access through a restrictive proxy server, you will have to use a Web Based SSH terminal client. Note: the performance is severely below that of Putty. I suggest you exhaust all possibilities of using any available Socks and Http Proxies from within Putty. Ajaxterm ( http://antony.lesuisse.org/qweb/trac/wiki/AjaxTerm ) is in the upcoming Debian Etch. It is an alternative to Anyterm (discussed [[Anyterm|here]]) and Mindterm (this is in Debian Sarge Stable, however runs as a java applet). **How-to below works with etch, lenny and debian squeeze** apt-get install ajaxterm ====== To Start / Stop ====== /etc/init.d/ajaxterm start|stop ====== To Config ====== The config file is: /etc/default/ajaxterm . You can change the default port been used. Default=8022. The ajaxterm Debian docs are located at: /usr/share/docs/ajaxterm
Depending on your setup etc. you may have to do the following: vi /etc/ssh/ssh_config //uncomment: PasswordAuthentication yes Otherwise you may see the following error:
**Permission denied (publickey,password).** ====== To Access (from Localhost) ====== telnet localhost 8022 Browse in an Internet Window to http://localhost:8022 Note: By default, ajaxterm will only bind to localhost, on port 8022, and thus will not be accessable from any other computer apart from localhost. Ajaxterm only runs in http and is not secure.
To help alleviate these problems, we configure Apache to serve out Ajaxterm over https. ====== Config Ajaxterm and Apache ====== Put the following in an Apache vhost file: ServerName ajaxterm.website.com Redirect 301 / https://ajaxterm.website.com CustomLog /var/log/apache2/access.log combined ErrorLog /var/log/apache2/error.log ServerName ajaxterm.website.com HostnameLookups Double CustomLog /var/log/apache2/access.log combined env=!dontlog SetEnvIf Request_URI "^/u" dontlog ErrorLog /var/log/apache2/error.log Loglevel warn SSLEngine On SSLCertificateFile /etc/apache2/ssl/apache.pem ProxyRequests Off AuthUserFile /srv/ajaxterm/.htpasswd AuthName EnterPassword AuthType Basic require valid-user Order Deny,allow Allow from all ProxyPass / http://localhost:8022/ ProxyPassReverse / http://localhost:8022/ Enable the proxy and proxy_html modules in apache. ln -s /etc/apache2/mods-available/proxy.conf /etc/apache2/mods-enabled/proxy.conf ln -s /etc/apache2/mods-available/proxy.load /etc/apache2/mods-enabled/proxy.load ln -s /etc/apache2/mods-available/proxy_http.load /etc/apache2/mods-enabled/proxy_http.load or a2enmod proxy proxy_http That should do it. Check auth.log and apache logs etc. ====== Why Ajaxterm ====== The reasons I have chosen Ajaxterm over Anyterm is because Anyterm is not yet in Debian Packages. Anyterm is difficult to complile correctly. When I did manage to compile anyterm, I recieved apache threading errors ( see [[Anyterm]] ). Although Mindterm is in Debian Sarge, it will not be in etch, as the free version of Mindterm does not support SSH v_2. Also Mindterm requires a user/client to have a JRE, and may possibly require port 22 access open (which is the main problem). Ajaxterm, while slow, works quickly and effectively out of the box with little work. Again, I have Ajaxterm on a secondary box which is not mission critical. ====== Larger Terminal Window ====== To get ajaxterm using a larger terminal window within the browser, the following files need to be edited: vi /usr/share/ajaxterm/ajaxterm.html window.onload=function() { t=ajaxterm.Terminal("term",100,40); }; vi /usr/share/ajaxterm/ajaxterm.py def __init__(self,width=100,height=40): You may have to restart ajaxterm for the above to work.