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


Administration wiki