Después de buscar y buscar llegue a un tutorial de como configurar Ajaxterm de forma segura utilizando el servidor Apache y el protocolo SSL. Ajaxterm es una aplicación escrita en Python que nos permite tener acceso remoto a una máquina a través de una terminal común a todos los sistemas GNU/Linux pero con la diferencia que es vía web, por eso mismo es necesario la utilización del protocolo SSL el que hace que la información viaje encripatada.
Ahora les voy a dejar los pasos que segui pero con algunos cambios para llegar a tener todo configurado siguiendo el tutorial que les mencione, espero les sirva como a mi.
Instalamos el servidor web Apache:
# apt-get install apache2
Habilitamos los modulos proxy para apache:
# a2enmod proxy_http
# a2enmod proxy
Instalamos SSL y creamos el certificado:
# apt-get install openssl # apt-get install ssl-cert
# mkdir /etc/apache2/ssl
# /usr/sbin/make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/apache2/ssl/apache.pem
Al configurarlo nos pedira el nombre de dominio entonces en vez de «localhost» como aparece colocaremos NuestroDominio con el que accederemos a nuestra máquina.
Habilitamos el ssl:
# a2enmod ssl
Instalamos ajaxterm y lo iniciamos:
# apt-get install ajaxterm
# /etc/init.d/ajaxterm start
Si nuestro puerto SSH no es el default (22) debemos cambiarlo para el servicio de ajaxterm haciendo:
# nano /etc/init.d/ajaxterm
SERVERPORT = 22
Creamos un nuevo archivo de host virtual, tener en cuenta que para mi ajaxterm utilice el puerto 8443 asi que dependiendo del que ustedes eligan tendran que cambiarlo en el archivo:
# nano /etc/apache2/sites-available/ajaxterm
************************************************************
Listen 8443
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory «/usr/lib/cgi-bin»>
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/access.log combined
Alias /doc/ «/usr/share/doc/»
<Directory «/usr/share/doc/»>
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
</VirtualHost>
NameVirtualHost *:8443
<VirtualHost *:8443>
ServerName NuestroDominio
SSLEngine On
SSLCertificateFile /etc/apache2/ssl/apache.pem
# Suppresses the Via header
ProxyVia Off
# Do not flood the log
#CustomLog /var/log/apache2/access.log combined env=!dontlog
#SetEnvIf Request_URI «^/ajaxterm/u» dontlog
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass / http://localhost:8022/
ProxyPassReverse / http://localhost:8022/
</VirtualHost>
************************************************************
Habilitamos el ajaxterm creado y reiniciamos los servicios:
# a2ensite ajaxterm
# /etc/init.d/apache2 restart
# /etc/init.d/ajaxterm restart
Ahora si hemos terminado y ya tenemos configurado ajaxterm con el protocolo https para poder acceder en forma remota y segura a nuestra máquina, podemos probarlo haciendo:
https://NuestroDominio:8443
o en forma local:
https://localhost:8443
Acá les dejo una captura de como deberían verlo:
Nota: Si en el momento en que reiniciamos el servidor apache nos sale el siguiente error:
«apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1 for ServerName»
la solución es editar el archivo httpd.conf:
#nano /etc/apache2/httpd.conf
agregandole la línea:
ServerName localhost
Comentarios recientes