Ajaxterm
De MicElectroLinGenMet.
Ajaxterm sur Debian
Ajaxterm est un terminal ssh écrit en Python passant par un naviguateur.
Installation
Aprés l'installation sous Debian:
# apt-get ajaxterm
le terminal est disponible à l'adresse http://localhost:8022
Accés sécurisé de l'extérieur
En utilisant le serveur apache2 configurer avec un VirtualHost et ReverseProxy.
- Modules apache2 à activer:
# a2enmod ssl => Voir doc. /usr/share/doc/apache2.2-common/README.Debian.gz # a2enmod proxy # a2enmod proxy_html # a2enmod proxy_http
- Génére les certificats SSL "self-signed"
# apt-get install ssl-cert # make-ssl-cert generate-default-snakeoil --force-overwrite
- Sauvegarde ancienne config de default-ssl
# cd /etc/apache2/sites-available # cp default-ssl default-ssl.origine
- Active site default-ssl aprés modification du fichier /etc/apache2/sites-available/default-ssl
# a2ensite default-ssl
- Sécurisation de l'accés à ajaxterm par mot de passe
Il faut créer un password pour un user admin
# htpasswd /etc/apache2/.htpasswd admin
Voir les directives "Auth*" dans le fichier de configuration ci-dessous.
Contenu de /etc/apache2/sites-available/default-ssl:
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerAdmin webmaster@localhost
ServerName localhost
ErrorLog /var/log/apache2/error.log
LogLevel warn
CustomLog /var/log/apache2/ssl_access.log combined
SSLEngine on
SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
# Rajout
ProxyRequests Off
<Proxy *>
AuthUserFile /etc/apache2/.htpasswd
AuthName Authenfication
AuthType Basic
require user admin
Order deny,allow
Allow from all
</Proxy>
ProxyPass /ajaxterm/ http://localhost:8022/
ProxyPassReverse /ajaxterm/ http://localhost:8022/
# Fin rajout
<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory /usr/lib/cgi-bin>
SSLOptions +StdEnvVars
</Directory>
BrowserMatch ".*MSIE.*" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
</VirtualHost>
</IfModule>
L'adresse https://site/ajaxterm/ renvoie à http://localhost:8022, permet de faire du ssh derrière un proxy filtrant.
- Relancer apache pour prise en compte:
# /etc/init.d/apache2 restart
