1/ connexion SSH :
ssh -p 10852 olivier@192.168.0.5
-p est utilisé pour spécifier le N° du port SSH sur le serveur
2/ Afficher un message sur le bureau de l'ordinateur distant :
DISPLAY=:0 zenity --info --text="Joyeux noel.\nBonne année."&
NB: Se connecter avec le serveur X qui permettra de lancer pour soi toutes les applis graphiques (par sur l'ordinateur distant mais sur son propre ordi) :
ssh -p 10852 -X olivier@192.168.0.5
-X : serveur graphique
SCP est une commande présente dans toutes les distributions Linux.
Elle permet facilement de copier un fichier à partir d'un ordinateur sur un autre avec SSH.
Ca marche comme ça :
scp -r -p /chemin/du/dossier/source user@serveur-distant:/chemin/du/dossier/destination
-r: récursif
-p: préserve les dates de modification, d’accès, et les modes des anciens fichiers.
Vous pouvez aussi utiliser l'option -P (majuscule) pour indiquer le port de connexion SSH si celui-ci n'est pas le port 22 (par défaut).
Imaginons : vous avez plusieurs centaines de fichiers et des répertoires entiers à rapatrier depuis votre anciens serveur vers votre nouveau serveur. Pour aller plus vite, l'outil idéal, c'est rsync.
Le wiki Ubuntu nous dit :
rsync (pour 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 ou actualise les données d'une source (locale ou distante) vers une destination (locale ou distante) en ne transférant que les octets des fichiers qui ont été modifiés.
Mettons tout cela en place sur notre Debian :
sudo apt install rsync
Il vous faut également ssh (sudo apt install ssh).
Voici un exemple assez complet de rsync :
rsync -av --progress --delete --stats --human-readable -e 'ssh -p xxxx' user@serveurdistant.fr:/home/user/* /home/user/
-a : c'est l'option de la "mort-qui-tue". En fait ça fait tout (ou presque). C'est un moyen rapide de dire que vous voulez la récursivité et préserver pratiquement tout. C'est équivalent aux optissn combinées -rlptgoD.
-v : verbeux
--progress : vous indique la progression de la copie/transfert
--stats : affichage de stats sur le transfert des fichiers
--human-readable : lecture "humaine" des chiffres. Idem à l'option ls -h (transforme en KO, MO, GB, ...)
- e : spécifie un shell distant
Il existe une autre option bien pratique :
--delete : cette option demande à rsync d'effacer tous les fichiers superflus côté réception (ceux qui ne sont pas du côté envoi); uniquement pour les répertoires synchronisés. Attention toutefois à l'utilser correctement ...
Vous avez "la totale" des options rsync ici :
http://www.delafond.org/traducmanfr/man/man1/rsync.1.html
Résultat ?
Avec la commande utilisée plus haut, une fois rentré le mot de passe de l'utilisateur distant (en ayant précisé un éventuel port ssh au cas où le serveur ssh ne tournerait pas sur le traditionnel port 22), rsync va "copier" tous les fichiers du répertoire /home/user (/home/user/*) depuis le serveur distant VERS votre nouveau serveur dans le répertoire /home/user.
Il peut arriver que certains répertoires ou fichiers ne puissent être récupérés pour des questions de droits. Il va alors falloir, sur le serveur distant, configurer sudo
Sur le serveur distant, si sudo n'est pas installé :
sudo apt install sudo
Il faut configurer sudo :
sudo visudo
Nous allons rajouter dans le fichier la ligne suivante (où vous voulez) :
user ALL= NOPASSWD:/usr/bin/rsync
Evidemment, changez "user" par votre véritable nom/pseudo... C'est le truc con qui arrive quand on fait des copier/coller. Je dis ça, car je suis le roi du "Ca marche pas... pourquoi ... Oh M.... ! J'ai pas changé user / mondomaine.com !"
Puis on va utiliser l'option "--rsync-path" pour préciser à rsync de démarrer avec l'option sudo :
rsync -av --progress --stats --human-readable --rsync-path="sudo rsync" -e "ssh -p xxxx" useronremoteserver@remoteserver:/data/to/sync /archive/data/
Et hop, là, plus de soucis on récupère tous les répertoires et fichiers.
UFW ou Uncomplicated Firewall est un "front-end" à iptables. Son principal objectif est de rendre la gestion de votre pare-feu plus facile et de fournir une interface simple à utiliser. UFW est installé par défaut sur un grand nombre de distributions Gnu/Linux. En tant que tel, il est une excellente solution pour commencer à "sécuriser" votre serveur...
Lire la suite de UFW : un par feu facile à utiliser pour son serveur
Voici quelques conseils avisés qui vous permettront d'améliorer la sécurité de votre accès SSH. La configuration se fait évidemment sur le serveur sur lequel est installé le serveur SSH.
Tout se passe dans le fichier /etc/ssh/sshd_config (Debian, Arch, etc.)
Lire la suite de OpenSSH : sécuriser l'accès SSH