|
Table des matières
Contrôle à distance LinuxComme l’indique son nom, le principe du contrôle à distance est de pouvoir à partir d’un ordinateur et d’un clavier commander un autre ordinateur du réseau ou même à distance. Ligne de commandeSSHLe contrôle le plus simple d’un ordinateur Linux est SSH en ligne de commande. Pour en profiter, il faut avoir installé SSH au préalable (cliquer ici apt://ssh). ssh adresse_distante # SSH demandera alors l'identifiant, puis le mot de passe ou ssh <login>@adresse-distante # A la connexion, répondre avec le mot de passe A la première connexion, le système demande confirmation, l’authenticité lui étant inconnue. Répondre et entrer son mot de passe.
SécuritéPour plus de sécurité en connexion distante, on peut choisir d’utiliser un autre port pour le SSH. Le port 22 est trop connu. Pour cela, éditer le fichier /etc/ssh/sshd_config et remplacer le port 22 par un port à partir de 2000: # What ports, IPs and protocols we listen for Port xxxx Pour se connecter sur ce poste, il faut utiliser une commande du type: ssh IP_distante -p xxxx # ne pas oublier la redirection à mettre sur la box distante vers le poste correspondant FTP sous SSH vers un PC Windows
PuttyPutty permet de prendre contrôle facilement, de façon sécurisée, un poste Linux en lignes de commande à partir d’un poste Windows. Se reporter à la partie Putty Putty existe également en version Linux. Pour plus de précision sur SSH, voir http://marc.terrier.free.fr/docputty/Chapter8.html#pubkey MySecureShellMySecureShell (MSS) utilise un chiffrage poussé SSH et sur son serveur FTP sécurisé “sftp-server”. Les avantages de MySecureShell sont qu’il s’appuie sur le protocole sécurisé SSH et qu’il permet un chiffrement complet des données et des requêtes émises. Il est simple à installer et à utiliser. Pour plus de détails, se reporter http://doc.ubuntu-fr.org/mysecureshell_sftp-server Installation
deb http://mysecureshell.free.fr/repository/index.php/ubuntu testing main deb-src http://mysecureshell.free.fr/repository/index.php/ubuntu testing main
sudo apt-get update
sudo apt-get install mysecureshell Utilisation
sudo adduser --home /home/jacques --shell /bin/MySecureShell jacques
lftp sftp://jacques@Adresse_IP_Serveur
lftp jacques@Adresse_IP_Serveur RedirectionQuelle que soit la solution adoptée hors VPN, pour accéder à un ordinateur derrière une Box ou un routeur, il faut assurer une redirection de port vers l’ordinateur à travers la Box ou le routeur (et même à travers les deux, si les deux sont en série). Ces redirections sont également à faire sur les Box, côté serveur et côté client. Un tutoriel VNC est disponible sur http://www.porciello.com/vnc/vnc_inventel.html pour une solution VNC. Connexion graphique à distanceConnexion entre postes LinuxEn local1- On peut avoir une connexion graphique à distance sur une machine Linux par les simples commandes suivantes dans un même terminal:
Inconvénient: On peut lancer une application dont on connait le nom mais on n’a pas accès aux menus Systèmes d’Ubuntu. 2- Dans Nautilus, on peut aussi
ssh://username@hostname:port Contrôle entre deux PC
L’option -L est pour la redirection de ports et -C pour comprimer toutes les données échangées.
Bureau à distance
NX ServerConsulter la documentation http://www.commentcamarche.net/faq/6687-installer-nx-server, http://doc.ubuntu-fr.org/serveur_nomachine, http://doc.ubuntu-fr.org/freenx. Connexion derrière un serveur (Tunnel SSH)Contrôle poste sur réseau distantOn peut aller sur un n’importe quel poste installé derrière un serveur en passant par le serveur. En SSH, on indique l’adresse publique (qui est redirigée dans la Box ou le routeur vers le serveur) et on redirige du serveur vers le PC recherché (“IP_distante”). Le processus comprend deux étapes:
ssh login@adresse_publique -L 5901:IP_distant:5900 # pour aller sur le poste distant. Le premier port est le port local et l'autre le port hôte de la machine distante
http://127.0.0.1:5901 # ou localhost:5901. On met ici le port local
Smokeping sur poste réseau distantPour smokeping à distance sur un autre PC du réseau distant
ssh IP_Publique -L 8080:localhost:80 -L 8082:IP_Locale:80
localhost:8082/cgi-bin/smokeping.cgi Webmin sur poste réseau distantDe la même façon pour ouvrir Webmin,
ssh IP_publique -L 10002:IP_locale:10000
https://localhost:10002/ Connexion sur un équipement derrière un serveur (Tunnel SSH)Pour accéder au paramétrage d’une imprimante-réseau (ou d’un téléphone VOIP…), on opère en deux temps:
ssh guy@IP_publique -L 8080:localhost:80 -L 8081:IP_locale_Imprimante:80
http://localhost:8081 Exemple: configuration à distance d’une imprimante Ricoh MP C2500. Connexion sur un serveur avec tunnel SSHWebminWebmin est un outil d’administration à distance d’une machine Linux. Il s’utilise par le biais d’un navigateur web. InstallationAjouter la clé GPG de Webmin : cd /root sudo wget http://www.webmin.com/jcameron-key.asc sudo apt-key add jcameron-key.asc Puis éditer le fichier /etc/apt/sources.list et ajouter : # Webmin deb http://download.webmin.com/download/repository sarge contrib Entrer ensuite : sudo apt-get update sudo apt-get install webmin Création de l'utilisateur
UtilisationPlusieurs solutions: 1. On peut accèder au Webmin d’un serveur distant (accès à travers Internet) en deux étapes par:
ssh login@adresse_publique -L 10000:localhost:10000 # avec une redirection de la box vers le serveur
https://localhost:10000 # connesion SSH 2. On peut y a accèder également de façon sécurisée en passant par OpenVPN. La copie d’écran suivante correspond à une connexion OpenVPN en entrant directement: https://10.0.8.1:10000 # connexion OpenVPN Dans les versions récentes, Virtualmin s’installe en même temps que Webmin. Pour travailler sur Webmin, cliquer sur Webmin marqué en bleu en haut à gauche
3. En local, on indique simplement l’adresse de la machine: Adresse_IP:10000 https://Adresse_IP:10000 Autres fonctionsIci aussi, on a toujours le même choix entre:
Pour consulter les autres fonctions en SSH, on entre dans un Terminal: ssh login@adresse_publique -L 8080:localhost:80 Dans Firefox, on entre l’URL suivante: localhost:8080 Pour accéder à l’arborescence de /var/www/, il faut avoir supprimé le fichier index.html
Ensuite, on choisit le type d’interface recherché: SmokepingPour smokeping, on entre l’adresse suivante dans le navigateur: http://localhost:8080/cgi-bin/smokeping.cgi MuninPHP-MyAdminPour PHP-MyAdmin, on entre: http://localhost:8080/phpmyadmin DokuwikiPour Dokuwiki (s’il y en a un sur le serveur), on entre: http://localhost:8080/dokuwiki FreePBXChangement de port SSH* Pour changer le port utilisé en SSH par rapport au port 22 standard, modifier le fichier /etc/ssh/sshd_config. * Pour ouvrir la connexion, utiliser la commande avec l’option -p suivi du n° du port. ssh -p <port_SSH> adresse_IP Valable également avec des redirections ssh -p <port_SSH> adresse_IP -L <port_redirigé>IP_locale:<port_redirigé> Attention les redirections sont à faire à la fois sur la Box et sur les routeurs. ConseilPour gagner du temps dans ces connexions, il est conseillé de créer un alias dans le shell utilisé. Editer donc le fichier de configuration du shell: gksudo gedit /home/<login>/.bashrc # pour le shell par défaut: bashrc Ajouter par exemple en fin de fichier: alias nom_alias_Webmin='ssh <login<@adresse_IP -L 10000:localhost:10000' # pour l'accès Webmin au serveur distant Il suffit ensuite d’entrer cet alias dans un terminal pour lancer la fonction. On quitte la connexion par Ctl+D. Mode graphiqueVinagre (Ubuntu)Vinagre vient d’être incorporé de base dans Ubuntu 8.04, il utilise le protocole VNC pour accéder à un bureau distant du réseau. Au préalable, paramétrer par Système/Préférences/Bureau à distance et configurer également le côté serveur (poste dont on veut prendre le contrôle): Il se lance par Applications/Internet/Visionneur de bureaux distants. A l’ouverture, cliquer sur “Se connecter” et sur “Rechercher” pour aller plus vite. Choisir parmi les ordinateurs. La fenêtre montre alors le bureau de l’ordinateur distant. Pour passer d’une application à une autre sur l’ordinateur distant, il faut jouer avec les fenêtres, les réduire si nécessaire. On peut ouvrir plusieurs bureaux à distance qui apparaissent dans les différents onglets. Terminal Server ClientAu préalable, le poste Linux distant doit avoir été réglé par Système/Préférences/Bureau à distance, comme vu plus haut. Ensuite, ouvrir sur le poste local Applications/Internet/Terminal Server Client. Choisir le protocole VNC. NB Si l’option VNC n’apparaît pas dans le menu déroulant, installer apt://xvnc4viewer. Entrer le mot de passe s’il a été mis dans les paramètres de Bureau à distance. L’avantage de cette solution est de pouvoir paramétrer les réglages (résolution-écran, couleurs) pour optimiser les liaisons entre ordinateurs. Le poste distant s’affiche sur le bureau, la flèche de la souris apparait sous forme d’un mini-cercle. Pour les problèmes de Box à traverser, se reporter au paragraphe redirection ci-dessus. VNCUne autre solution de contrôle à distance est offerte par la famille des VNC (Virtual Network Computing) qui intègre selon les cas à la fois le client et le serveur. Il offre l’avantage d’être cross-plateforme. On peut citer en particulier TightVNC qui comporte tightvncserver (en Linux et en Windows) qui est la version serveur à installer sur les postes distants à contrôler et xVNCviewer la partie Viewer pour le PC local qui contrôle le poste distant. Lancer xvncviewer ou xtightvncviewer par un terminal. Une petite fenêtre apparait. Entrer l’adresse du serveur VNC distant. Entrer ensuite le mot de passe. NB On a à peu près le même résultat que si on avait utilisé Vinagre Ubuntu, qui permet aussi d’accéder à un poste VNC Windows en local, en entrant l’adresse du poste serveur distant (elle ne se présente pas toute seule avec le bouton Rechercher). Si besoin, consulter la documentation
Accès graphique à partir de lignes de commandeCôté Serveur (machine distante)Sur le serveur, installer et lancer x11vnc. sudo apt-get install x11vnc x11vnc -shared -forever -display :0 L’option display définit l’affichage auquel le serveur va se connecter. Pour autoriser plusieurs connexions et le maintien de l’ouverture VNC, on ajoute les options shared et forever Côté clientSur le client local (qui contrôle le serveur distant), installer et lancer xvnc4viewer : sudo apt-get install xvnc4viewer xvnc4viewrer IP_distante:0 Saisir le mot de passe demandé. si l’ordinateur distant est derrière un routeur ou une Box, il faut une redirection du port 5900, utilisé par VNC, à partir du routeur vers la machine distante
Attention, VNC n’est pas un protocole sécurisé. Pour une connexion distante, il faut utiliser un tunnel SSH (voir http://doc.ubuntu-fr.org/ssh_vnc).
HamachiHamachi permet de créer des réseaux privés grâce au peer-to-peer. Ainsi, via Internet, on peut partager ses fichiers, commander un autre ordinateur connecté, lancer des impressions, etc. De plus, les applications fonctionnant d’ordinaire pour des réseaux locaux, peuvent être utilisées avec Hamachi. Les communications sont sécurisées et cryptées par des algorithmes et des protocoles spécifiques, ainsi que par l’utilisation d’un mot de passe. Avec Hamachi, tout poste utilisant le programme se voit associé, via Internet, à un réseau. Il offre une connexion VPN, contournant les firewalls et protégeant les connexions. Version consoleTéléchargement sur https://secure.logmein.com/products/hamachi/list.asp
$ sudo make install $ sudo /sbin/tuncfg $ cd ~ $ sudo upx -d /usr/bin/hamachi $ hamachi-init # génère identité cryptée
$ hamachi start # pour le lancer $ hamachi login # pour lancer le service
hamachi create "mon reseau" # Mettre un mot de passe pour Hamachi
$ hamachi join <Réseau> $ hamachi go-online # entre dans le réseau<Réseau>
$ hamachi get-nicks $ hamachi list # liste les postes-embres du réseau
$ hamachi go-offline <Réseau> $ hamachi stop Une fois hamachi ouvert, on peut se connecter par VNC. Hamachi-guiHamachi-gui donne un interface graphique à Hamachi. A télécharger sur http://hamachi-gui.sourceforge.net/download.html. Deux versions disponibles: - Fichier binaire à installer par sudo dpkg -i hamachi-gui_0.9.6-1_i386-hardy.deb - Fichier source comprimé hamachi-gui_0.9.6-1_i386-hardy.deb. Pour le lancer, cliquer sur Applications/Internet/Hamachi-gui. Les fonctionnalités graphiques de Hamachi sont données sur https://secure.logmein.com/products/hamachi/advantages.asp. Documentation sur https://secure.logmein.com/products/hamachi/Hamachi_Getting_Started_Guide.pdf. TeamViewerTeamViewer a sorti maintenant une version pour Linux. Installation
Choisir le fichier .deb et la version 32 ou 64 bits, selon besoin.
wget http://www.teamviewer.com/download/teamviewer_linux.deb UtilisationSe reporter à la partie Windows sur TeamViewer Windows. Spark-AngelsVoir http://www.spark-angels.com/web/home.html ou http://sourceforge.net/projects/fullsync/files/fullsync/FullSync%200.9.1/FullSyncInstaller.jar/download Se charge comme un module complémentaire à Firefox. Autres solutions
Téléchargement sur http://www.nomachine.com/download.php
Redirection SSHSi le PC distant est connecté à un serveur, on peut se connecter en SSH sur lui et faire une redirection vers le PC distant, voir http://doc.ubuntu-fr.org/tutoriel/acces_full_internet_ssh_derriere_proxy#utilisation en attendant une rédaction précise ou plus haut sur http://coursinforev.ovh.org/dokuwiki/doku.php/controle-distance_linux#connexion_derriere_un_serveur. Administration/gestion parc ordinateursUne solution est offerte par Mandriva Pulse qui existe sous différentes versions |