Pour se connecter à un autre PC via SSH sous ubuntu, on utilisera openssh.
Sur le PC avec lequel on prendra le contrôle, il faudra installer openssh-client qui est installer par défaut sous Ubuntu.
Sur le PC dont on veut prendre le contrôle, il faut installer openssh-server.
Et voila c’est terminé si l’on veut se connecter à un autre ordinateur se trouvant sur le même réseau local.
Par contre pour se connecter à un ordinateur via internet, il faut dans l’administration du routeur, rediriger le port 22 sur la machine que l’on veut controller.
On peut maintenant se connecter à distance sur une autre machine via SSH. Pour cela ouvrez un Terminal via Application > Accessoire > Terminal puis taper la commande suivante :
ssh nom_d’utilisateur@adresse_IP ou nom_de_la_machine_serveur |
Exemple : ssh lilotuto@83.84.85.86
Pour connaître votre adresse IP public cliquez ici
Remarque : Le port ssh par défaut est le port 22. Si vous utilisez un autre port il faut taper la commande
ssh lilotuto@83.84.85.86 -p numero_du_port
Lancer un programme via SSH.
Pour lancer un programme en ligne de commande sous ubuntu, il suffit de taper le nom du programme pour que celui-ci se lance. Par exemple, dans un Terminal, entrez la commande « firefox » pour lancer votre navigateur préféré Firefox.
Via ssh vous pouvez faire la même la chose cependant il faut avant entrer la commande suivante :
export DISPLAY=:0 |
Entrez mintenant la commande « firefox » pour ouvrir ce programme.
Transferer un fichier entre le PC controllé et le votre.
Pour copier des fichiers on peut utiliser la commande scp. Voir ici.
Nous allons plutôt nous intérésser à rsync.
rsync (remote synchronization ou synchronisation à distance) est un logiciel de synchronisation de fichiers. Il est fréquemment utilisé pour mettre en place des systèmes de sauvegarde distante. rsync travaille de manière unidirectionnelle c’est-à-dire qu’il synchronise, copie les données d’une source vers une destination.
Envoi d’un dossier de votre PC(Pc Client) Vers le PC que l’on contrôle (Pc Server) :
rsync -e ssh -avz –delete-after /home/mondossier_source user@ip_du_serveur:/dossier/destination/ |
Reception d’un dossier du PC que l’on contrôle (Pc server) vers votre PC (Pc Client)
rsync -e ssh -avz –delete-after user@ip_du_serveur:/dossier/destination/ /home/mondossier_source |
Pour les allergiques de la ligne de commande il y a un moyen de copier des fichiers graphiquement. Notamment sous Ubuntu grâce à Nautilus.
Ouvrer Nautilus puis cliquez sur Aller à > Emplacement… (ou Ctrl + L)
Cela permet d’ouvrir la barre d’adresse de Nautlus. Entrez-y alors => ssh://nom_d’utilisateur@adresse_ip ou nom_de_la_machine
Vous voila en train de naviguer dans les dossiers de la machine serveur via votre machine client comme-ci vous y étiez 😀
Vous pouvez également créer un lanceur en allant sur le bureau et en faisant un clic droit > créer un lanceur.
Entrez maintenant le nom que voulez puis entrer la commande : nautilus ssh://nom_d’utilisateur@adresse_IP ou nom du serveur
Se connecter via ssh sur une machine distante sans demande de mot de passe.
Sur la machine cliente entrer la commande :
ssh-keygen |
Il vous sera demandé de rentrer des mots de passes, notamment des passphrases. Taper Entrée à chaque fois.
Une fois cela fait, toujours sur la machine cliente, entrer la commande :
ssh-copy-id nom-d’utilisateur@adresse_ip ou nom_de_la_machine |
Exemple : ssh-copy-id lilotuto@83.84.85.86
Maintenant connectez-vous via ssh, aucun mot de passe ne vous sera demandé.
ssh-keygen