Commandes Shell & SSH : Administration de Linux à distance

Comment administrer un serveur Linux Debian / Ubunut à distance avec OpenSSH
  • Administration système

Linux accès SSH Debian

L’article d’aujourd’hui porte sur l’administration d’un serveur Linux à distance pour les débutants. Le protocole SSH permet l’ouvrir d’une « ligne directe » avec le serveur, sans interface graphique. La raison pour laquelle il n’y a pas d’interface graphique sur la plupart des serveurs Linux est le poids que cela prend sur le système et les ressources que cela consomme. C’est la raison pour laquelle vous devez apprendre à vous servir d’SSH.

Cet article est en quelque sorte un mémo des principales commandes à connaître sur un système Linux.

Si vous cherchez à disposer d’une interface graphique sur votre serveur, regardez du côté d’NX.

Si vous cherchez un tutoriel sous Microsoft : Commandes MS-DOS principales.

Connexion au serveur à distance via SSH

Si vous êtes sous Windows, le logiciel Putty se charge très bien de cela.

Sous Linux, la syntaxe est la suivante depuis un terminal.

ssh user@address
ssh dinath@security-helpzone.com

A savoir que le serveur OpenSSH utilise PAM par défaut sur le système. Les identifiants pour se connecter sont donc ceux du système.

Récupérer les droits super-utilisateurs

Sous Linux, il est important de récupérer les privilèges administrateurs.

su

Ou pour forcer la récupérations des droits.

su -

(su pour switch user)

Si vous n’avez jamais défini de mot de passe pour le compte super-utilisateur.

sudo passwd

Cette commande est surtout valable pour Ubuntu qui utilise surtout les sudoers files.

Installer un paquet sous Linux

Si vous utilisez une nouvelle installation de Debian / Ubuntu, vous allez devoir installer le serveur SSH.

apt-get install openssh-server

La commande aptitude ou apt-get permet l’installation d’un paquet depuis les dépôts.

Pour vérifier qu’un paquet existe dans les dépôts :

aptitude search ssh

Pour vérifier qu’un paquet est présent sur le système :

dinath@alexandre:~$ dpkg -l | grep ssh

« dpkg -l » permet de lister les paquets installés. On renvoit la sortie de la commande avec le pipe « | » et « grep » permet de rechercher une chaîne de caractères dans une chaîne de caractères.

Pour vos premières installations de paquet, je vous recommande de rechercher ce que vous souhaitez sur Google d’abord, ensuite, une fois le nom du paquet obtenu, installez-le.

Mettre à niveau son système et ses paquets

Les mises à jour sont Linux se font aussi via les dépôts.

La commande suivante permet de mettre à jour la liste des dépôts pour récupérer les nouveaux paquets mis à jour.

aptitude update

La commande suivante permet de mettre à niveau tous les paquets.

aptitude safe-upgrade

Supprimer un paquet

Vous pouvez choisir de supprimer simplement un paquet via la commande suivante. Cette commande permettra de supprimer un paquet et ses dépendances primaires. La configuration du paquet sera sauvegardée.

aptitude remove <paquet>

Pour supprimer totalement un paquet, la commande suivante supprimera toutes les dépendances associées avec le paquet.

apt-get autoremove <paquet>*

Si vous souhaitez supprimer totalement le paquet et sa configuration.

dpkg --purge <paquet>

Si vous souhaitez rechercher les anciennes configurations.

aptitude search ~s

Par défaut, une fois loggué sous SSH, vous retomberez dans le répertoire suivante.

/home/<user>

Pour vous déplacer dans un autre répertoire : « cd » pour change directory.

cd /var/www

Pour savoir où vous vous trouvez sur le disque.

pwd

Pour supprimer un fichier : « rm » pour remove.

rm -v /home/dinath/changelog.txt

Pour supprimer un répertoire : « rm » avec le commutateur « -R » pour recursive.

rm -vR /home/dinath/test

(le commutateur « -v » permet une sorti verbeuse (avec plus d’informations))

Pour copier-coller un fichier : « cp » (utiliser l’option -R pour un répertoire).

cp -v /home/dinath/changelog.txt /var/www/shz/

Pour déplacer un dossier ou un fichier sur le disque : « mv ». A savoir que sur un système Linux, ce sont les inodes qui sont modifiées ce qui est instantané pour l’utilisateur.

mv -v /home/dinath/changelog.txt{,.old}

/home/dinath/changelog.txt » -> « /home/dinath/changelog.txt.old »

Lister un répertoire se fait simplement avec la commande « ls ».

ls -l

-rw-r--r-- 1 dinath dinath       0 mai    3 10:29 changelog.txt.old
drwxr-xr-x 2 root   root      4096 oct.  14  2014 documents

Créer un nouveau répertoire.

mkdir -v /home/dinath/directory

Pour télécharger un fichier : « wget ».

wget https://www.security-helpzone.com/download/slowin%20killer/Slowin%20Killer.exe

Les droits sur les fichiers

Pour définir qui détient le fichier en question (quel utilisateur et quel group).

chown user:group /home/dinath/changelog.txt

Pour changer les droits de ce fichier pour les utilisateurs. (« -R » pour un dossier)

chmod 755 /home/dinath/changelog.txt

Voici les valeurs pour définir les droits.

  1. Exécuter
  2. Ecrire
  3. Ecrire et exécuter
  4. Lire
  5. Lire et exécuter
  6. Lire et écrire
  7. Lire, écrire et exécuter

Les trois premières valeurs du chmod sont définies comme ceci.

  1. Utilisateurs
  2. Groupes
  3. Autres

Gérer les fichiers textes

Pour éditer le contenu d’un fichier texte dans la console. (si vous n’avez pas nano il vous suffit de l’installer avec aptitude)

nano /home/dinath/changelog.txt

Pour afficher les 50 dernières lignes d’un fichier texte.

tail -n 50 /home/dinath/changelog.txt

Pour afficher les 10 dernières lignes d’un fichier texte et continuer son affichage en temps réel. (très utile pour le debug des logs)

tail -f /home/dinath/changelog.txt

Pour afficher les premières lignes d’un fichier.

head /home/dinath/changelog.txt

Pour afficher le contenu entier d’un fichier texte dans la console. (« -n » permet d’afficher les numéros de ligne)

cat -n /home/dinath/changelog.txt

Créer un nouveau fichier texte simplement.

touch /home/dinath/changelog.txt

Gérer les services

Les services sous Debian / Ubuntu se trouvent dans le répetoire suivante : /etc/init.d/. Ils sont essentiels sous Linux et se démarrent via le démon update-rc.d.

Pour démarrer un service :

service apache2 start

Ou

/etc/init.d/apache2 start

La plupart du temps sur les services, vous pourrez utiliser les commutateurs suivant : start, stop, restart, status.

Gérer le système

Un système Linux ne se redémarre pas aussi souvent qu’un système Windows. Vous pouvez laisser tourner un serveur plus d’un an sans soucis, c’est un système d’exploitation très stable.

Pour rédémarrer le système :

reboot

Pour éteindre totalement le système :

halt

Pour savoir combien de mémoire vive (RAM) est utilisé. (« -m » pour afficher le résultat en mo)

free -m

Pour afficher l’espace disque restant sur le disque dur.

df -h

Pour afficher la taille d’un répertoire.

du -hs /home/dinath/

Pour afficher l’utilisation physique du serveur

top

Pour sortir du mode ssh.

exit

Exécuter un fichier shell (.sh).

bash /home/dinath/script.sh

Commandes utiles

Pour récupérer toutes les anciennes commandes tapées.

history

Afficher le manuel d’utilisation d’une commande.

man dpkg

La commande grep permet aussi de rechercher dans les fichiers.

grep "dinath" /home/dinath/changelog.txt

Article publié le

Dernière modification le

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.