GateOne va vous permettre de passer en SSH au travers d'un navigateur en utilisant le html5.
Ça peut dépanner dans des environnements restrictifs qui vous bloque un Putty juste pour vous embêter
Le tuto est pour un environnement "rutorrent mondédié" /
Debian 7, et je vais utiliser l'ip du serveur pour rester simple, donc à vous de modifier ça au besoin !
Installation
On installe tout un tas de chose plus ou moins utile:
apt-get install python python-openssl python-tornado python-pam python-kerberos python-imaging dtach
On se place à la racine et on récupère GateOne sur github:
(vérifier le numéro de la dernière version ici: GateOne)
wget https://github.com/downloads/liftoff/GateOne/gateone-1.1.tar.gz
On décompresse...
tar -xvzf ./gateone-1.1.tar.gz
On passe dans le dossier GateOne et on lance le premier script:
cd ./GateOne/
python setup.py install
On remonte à la racine et on fait le ménage:
cd
rm -R GateOne gateone-1.1.tar.gz
Configuration
On se rend dans le dossier qui va bien et on lance le deuxième script:
cd /opt/gateone/
./gateone.py
Pas d'inquiétude pour l'erreur socket.error, c'est normal pour l'instant.
On va éditer le fichier de conf pour régler 2 ou 3 choses:
nano /opt/gateone/server.conf
port = 8080
url_prefix = "/gateone/"
disable_ssl = True
address = "127.0.0.1"
origins = "https://<ip_serveur>"
On crée un fichier de conf pour nginx
nano /etc/nginx/sites-enabled/gateone.conf
Et on colle en modifiant le server_name:
(j'ai repris les infos d'identification et tout le tra-lal-la ssh de rutorrent.conf)
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
server {
listen 443 ssl;
server_name <ip_serveur>;
access_log /var/log/nginx/gateone-access.log;
error_log /var/log/nginx/gateone-error.log;
auth_basic "Veuillez-vous authentifier";
auth_basic_user_file "/etc/nginx/passwd/rutorrent_passwd";
# See https://wiki.mozilla.org/Security/Server_Side_TLS#Nginx
ssl_certificate /etc/nginx/ssl/server.crt;
ssl_certificate_key /etc/nginx/ssl/server.key;
location /gateone {
proxy_buffering off;
proxy_read_timeout 600s;
proxy_send_timeout 600s;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_pass http://127.0.0.1:8080;
}
}
Maintenant, on va ajouter le service au démarrage du serveur (Merci Hardware

)
On commence par éditer le script init.d:
nano /etc/init.d/gateone
et on modifie en haut:
# Default-Start: 3 4 5
# Default-Stop: 0 1 2 6
en:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
On enregistre et on termine avec:
update-rc.d gateone defaults
Plus qu'à démarrer GateOne et relancer nginx:
service gateone start
service nginx restart
La page doit maintenant être accessible ici:
[url]https://<ip_serveur>/gateone/[/url]
Une fois passé l'authentification nginx avec votre user ruTorrent, vous verrez apparaître la page de connexion ssh
[Press Shift-F1 for help]
Host/IP or ssh:// URL [localhost]: # On laisse vite si GateOne est sur le même serveur
Port [22]: # pareil, vide si on a pas changé de port ssh
User: root # root ou votre user spécial console
Connecting to ssh://root@localhost
root@localhost's password:
Largement inspiré de:
http://phil.writesthisblog.com/outils-web-administration-gateone/
Ex.