Linux

Installer une version minimaliste de Debian

Linux en CLI (mode console, sans interface graphique) n’utilise pas la souris ! Tout se passe avec le clavier pour naviguer dans les menus d’installation :

  • Les flèches du clavier

  • La touche Tab pour naviguer dans les options

  • La touche Espace pour cocher/décocher certaines options

  • La touche Entrée pour valider

Sélectionner Install (et pas Graphical install) et valider pour lancer l’assistant d’installation qui se déroule en quatre étapes et dure une dizaine de minutes :

Collecte des informations

  • Language : French

  • Pays : France

  • Clavier : Français

  • Nom de la machine : debian-VotreNom

  • Domaine : salle110

  • Mot de passe root : vitrygtr

  • Nouveau compte utilisateur : etudiant

  • Mot de passe : vitrygtr

Partitionnement

Pour le partitionnement, choisir Assisté - Utiliser un disque entier.

Sélectionner le disque à partitionner (il n’y en a qu’un).

Choisir d’installer Tout le système dans une seule partition, puis Terminer et appliquer les changements (confirmer avec Oui).

Installation du système

L’installation de base se lance et va durer quelques minutes.

Lorsque l’installateur vous demande s’il faut analyser un autre CD ou DVD, répondez Non.

On vous demande alors de choisir un miroir Debian. Il s’agit d’un serveur de fichiers, sur internet, depuis lequel l’installateur va télécharger les applications additionnelles. Vous verrez un peu plus tard comment installer ces applications à la demande.

Sélectionnez de préférence un miroir se trouvant en France. En effet, il est préférable de choisir un miroir qui se trouve géographiquement proche de votre machine pour accélérer le téléchargement.

A la question sur la participation à l’étude statistique sur l’utilisation des paquets, répondez ce que vous souhaitez.

Comme nous n’installons que le système minimal, dans la fenêtre Sélection de logiciels, décochez toutes les cases (Utilisez pour cela la touche Espace).

Finalisation

Enfin, valider l’installation de Grub (un gestionnaire multiboot) sur le secteur d’amorçage du disque dur (sous Linux, ce dernier se nomme /dev/sda).

L’ordinateur redémarre. C’est prêt !

Déterminer l’adresse IP

Dans un terminal, taper :

ip address show

ou (version courte) :

ip a

Les informations suivantes s’affichent :

etudiant@debian-stretch:~$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> ... state UNKNOWN ...
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> ... state UP ...
    link/ether 08:00:27:4c:3b:d1 brd ff:ff:ff:ff:ff:ff
    inet 172.16.110.42/24 brd 172.16.110.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::a00:27ff:fe4c:3bd1/64 scope link
       valid_lft forever preferred_lft forever

Sous Linux, les cartes Ethernet sont traditionnellement nommées ethX (où X est un chiffre). Mais sur les Linux récents, leur nom commence par en (par exemple, enp0s3).

Dans cet exemple, la carte réseau se nomme eth0 et l’adresse IP attachée est 172.16.110.42.

Lancer un ping vers l’adresse IP 8.8.8.8

ping 8.8.8.8

Sous Windows, cette commande envoie quatre requêtes puis s’arrête. En revanche, sous Linux l’envoi de requêtes se poursuit tant qu’on ne l’arrête pas avec la combinaison de touche Ctrl et C.

Les lignes suivantes indiquent un ping réussi :

_images/ping.png

Fig. 12 Ping réussi vers 8.8.8.8

Ces messages prouvent que le destinataire répond bien aux requêtes envoyées par PC.

Tout autre message (ou une absence de message) indique un échec.

Exécuter une commande avec les droits root

L’exécution de certaines commandes est réservée au ‘super-utilisateur’ :

sudo commande

Exemples :

# Seul le root peut désactiver une carte réseau
sudo ifdown eth0
# Seul le root peut modifier la configuration réseau
sudo nano /etc/network/interfaces
# Seul le root peut redémarrer l'ordinateur
sudo reboot

Redémarrer le système

reboot

Cette commande doit être exécutée avec les droits root

Installer le paquetage apache2 (newbie)

Dans un terminal :

sudo apt update
sudo apt install apache2

Vous comprendrez le rôle de ces commandes dans les prochains TP.

Installer le paquetage apache2 (avancé)

Avant d’installer un paquetage, il faut toujours mettre à jour la liste des paquetages disponibles :

apt update

Cela permet au système de récupérer les informations sur les versions les plus récentes de chaque paquetage (donc éviter d’installer, par exemple, la version 2.2 d’une application alors que la version 2.3 est disponible).

On peut ensuite procéder à l’installation :

apt install apache2

Cette commande a pour effet de télécharger la version la plus récente du paquetage, ainsi que ses dépendances (logiciels dont il a besoin pour fonctionner), de la décompresser, d’installer et de configurer les fichiers et programmes sur le système.

Sous Debian, l’installation de logiciels se résume donc à une suite de commandes apt. Les paquetages sont stockés sur un grand nombre de serveurs sur internet nommés miroirs Debian et téléchargés à la demande sur votre PC. Une connexion à internet est donc nécessaire pour installer tout paquetage.

Ces deux commandes doivent être exécutées avec les droits root

Installer automatiquement le paquetage dnsutils

Par défaut, la commande apt demande à l’utilisateur de confirmer l’installation d’un paquetage :

Souhaitez-vous continuer ? [O/n]

Pour répondre automatiquement Oui à ces questions, il suffit d’ajouter le paramètre -y à la ligne de commande :

apt install -y dnsutils

Désinstaller le paquetage apache2

apt purge apache2
apt autoremove

Afficher les informations du paquetage cowsay

dpkg -s cowsay

Affiche les informations suivantes :

Package: cowsay
Status: install ok installed
Priority: optional
Section: games
Installed-Size: 88
...
Version: 3.03+dfsg2-3
...
Description: configurable talking cow
 Cowsay (or cowthink) will turn text into happy
 ASCII cows, with speech (or thought) balloons. ...

Cet exemple confirme que le paquetage est installé.

Ouvrir un terminal

Clic droit sur le Bureau > Applications > Emulateur de Terminal

Afficher l’adresse de la passerelle par défaut

La passerelle par défaut est indiquée dans la table de routage, qu’il faut afficher.

Les informations suivantes s’affichent :

default via 172.16.110.1 dev eth0
172.16.110.0/24 dev eth0 proto kernel scope link src 172.16.110.42

Dans cet exemple, l’adresse de la passerelle par défaut est 172.16.110.1.

Afficher la table de routage

ip route

Afficher l’adresse du serveur DNS

cat /etc/resolv.conf

Les informations suivantes s’affichent :

nameserver 212.27.40.240

Dans cet exemple, l’adresse du serveur DNS est 212.27.40.240.

Résoudre le nom de domaine www.perdu.com

host www.perdu.com

Cette commande affiche :

www.perdu.com has address 208.97.177.124

L’adresse IP du serveur www.perdu.com est donc 208.97.177.124.

Effectuer une résolution DNS inverse sur l’adresse 9.9.9.9

host 9.9.9.9

Cette commande affiche :

9.9.9.9.in-addr.arpa domain name pointer dns9.quad9.net.

Le nom DNS associé à l’adresse 9.9.9.9 est donc dns9.quad9.net.

Afficher la configuration des cartes réseau

La configuration des cartes réseau est enregistrée dans le fichier /etc/network/interfaces. Ce fichier de configuration sera lu et exécuté à chaque démarrage.

Pour afficher son contenu, utiliser cat :

cat /etc/network/interfaces

Les informations suivantes s’affichent :

auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp

Dans cet exemple, la carte eth0 est configurée en adressage dynamique persistant (indiqué par le mot-clé dhcp).

Activer la carte eth0

ifup eth0

Cette commande doit être exécutée avec les droits root.

En cas de succès, la commande doit afficher :

[...]
DHCPOFFER of 172.16.110.42 from ...
[...]
bound to 172.16.110.42 -- renewal in 33663 seconds.

Désactiver la carte eth0

ifdown eth0

Cette commande doit être exécutée avec les droits root.

Éditer le fichier /etc/network/interfaces

Avec l’éditeur de texte nano :

nano /etc/network/interfaces

Réaliser les modifications demandées (ajout ou suppression de lignes).

Enfin, enregistrer et quitter :

  • Appuyer simultanément sur les touches Ctrl et X,

  • Taper y (pour répondre Yes)

  • Appuyer sur Entrée

Fonctions de l’éditeur de texte nano

Les fonctions usuelles sont affichées en bas de la fenêtre :

_images/nano-keys.png

Fig. 13 Raccourcis de nano

Par exemple, pour couper une ligne, il faut presser simultanément les touches Ctrl et k.

Configurer la carte réseau eth0 en adressage dynamique persistant

En trois étapes : désactivation, modification, activation.

Warning

Ne jamais modifier la configuration d’une carte réseau sans la désactiver au préalable !

Désactiver la carte

Désactiver la carte eth0.

Modifier la configuration

Éditer le fichier /etc/network/interfaces.

Effacer toutes les lignes correspondant à eth0 puis ajouter :

auto eth0
iface eth0 inet dhcp

Warning

Ne jamais toucher aux deux premières lignes, correspondant à la carte (virtuelle) lo.

Activer la carte

Activer la carte eth0.

En cas de succès, la commande doit afficher :

Killed old client process
[...]
DHCPRELEASE on eth0 to ...

Vous aurez remarqué qu’un redémarrage du PC n’est pas nécessaire pour prendre en compte les modifications : l’invocation d’un script (ici ifup) suffit.

Configurer eth0 en adressage statique persistant (adresse 203.0.113.10/24)

En trois étapes : désactivation, modification, activation.

Warning

Ne jamais modifier la configuration d’une carte réseau sans la désactiver au préalable !

Désactiver la carte

Désactiver la carte eth0.

Modifier la configuration

Éditer le fichier /etc/network/interfaces.

Effacer toutes les lignes correspondant à eth0 puis ajouter :

auto eth0
iface eth0 inet static
        # address en anglais s'écrit avec deux d
        address 203.0.113.10/24

Warning

Ne jamais toucher aux deux premières lignes, correspondant à la carte (virtuelle) lo.

Activer la carte

Activer la carte eth0.

En cas de succès, la commande n’affiche rien.

Configurer la passerelle par défaut (203.0.113.1) sur eth0

En trois étapes : désactivation, modification, activation.

Warning

Ne jamais modifier la configuration d’une carte réseau sans la désactiver au préalable !

Désactiver la carte

Désactiver la carte eth0.

Modifier la configuration

Éditer le fichier /etc/network/interfaces.

Ajouter le paramètre gateway dans le bloc de configuration de eth0 :

...
iface eth0 inet static
        address 203.0.113.10/24
        gateway 203.0.113.1

Activer la carte

Activer la carte eth0.

En cas de succès, la commande n’affiche rien.

Configurer le résolveur DNS (adresse du serveur 8.8.8.8)

Éditer le fichier /etc/resolv.conf et ajouter la ligne suivante :

nameserver 8.8.8.8

Il faut modifier ce fichier avec les droits root.

Fonctions d’assistance à la frappe au clavier

Table 3 Raccourcis clavier

Fonction

Déclencheur

Rôle

Rappel de commande

Flèche Haut et Flèche Bas

Faire défiler les commandes déjà tapées

Edition de commande

Flèche Gauche et Flèche Droite

Corriger une commande

Tab completion

Touche Tab

Compléter une commande (ou un nom de fichier/dossier) tapée partiellement

Copier-coller

Utiliser la souris pour sélectionner le texte à copier. Appuyer sur la molette. Le texte est copié à l’emplacement actuel du curseur.

Renommer un PC (ancien nom : www2, nouveau nom : web2)

En trois étapes (à effectuer avec les droits root) :

Changer le nom

hostnamectl set-hostname web2

Fichier hosts

Éditer le fichier /etc/hosts et remplacer les deux occurrences de www2 par web2 (sur la deuxième ligne) :

127.0.0.1       localhost
127.0.1.1       www2.localdomain      www2
...

Validation

Fermer le terminal et le rouvrir. Observer le prompt du terminal pour confirmer que les modifications ont été prises en compte.

Observer le prompt du terminal

Le prompt (ou invite de commande) est une chaine de caractères qui s’affiche au début de chaque ligne du terminal lorsqu’il est prêt à recevoir une commande de l’utilisateur.

Votre prompt doit être de la forme :

etudiant@pc42:~$

Où :

  • etudiant est le nom de l’utilisateur courant (actuel)

  • pc42 est le nom du PC

  • ~ indique le répertoire courant

  • $ indique que l’utilisateur n’a pas les droits de super-utilisateur (root). Dans le cas contraire, le caractère # le remplace

Se connecter en SSH sur le PC 203.0.113.10 avec le compte otabenga

ssh otabenga@203.0.113.10

Entrer le mot de passe de cet utilisateur et valider.

Warning

Le compte otabenga doit obligatoirement exister sur le PC distant.

Si le message suivant apparait, répondre yes (vous comprendrez sa signification plus tard) :

The authenticity of host '203.0.113.10' can't be established.
ECDSA key fingerprint is SHA256:194zDKTdbDe1FRp...0HmaZmPW0Y7sPyA.
Are you sure you want to continue connecting (yes/no)?

Par défaut, si l’on n’indique pas de compte, la connexion est établie avec l’utilisateur courant (celui avec lequel vous avez ouvert le terminal sur le PC local).

Fermer un terminal

exit

ou

Ctrl + D

Fermer une connexion SSH

Voir Fermer un terminal.

Afficher le contenu du fichier /etc/hostname

cat /etc/hostname

Consulter le manuel de la commande cowsay

man cowsay

Pour naviguer dans la page de manuel :

Table 4 Raccourcis du man

Touche

Rôle

Entrée

Afficher la ligne suivante

Espace

Afficher la page suivante

/motif

Chercher motif dans le texte

n

Chercher le motif suivant

q

Quiter

Afficher la page malotru.html du serveur Web 203.0.113.42

En GUI, il suffit de taper l’URL suivante avec n’importe quel navigateur Web :

http://203.0.113.42/malotru.html
_images/requete-Web.png

Fig. 14 Page Web affichée par un navigateur

En CLI :

curl http://203.0.113.42/malotru.html

Afficher l’état du service apache2

systemctl status apache2

Affiche les informations suivantes :

_images/systemctl-status.png

Fig. 15 Le service apache2 est actif

Dans cet exemple, le service est démarré (actif). Tout autre message indique que le service est arrêté.

Cette commande doit être exécutée avec les droits root.

Démarrer/arrêter/relancer le service apache2

systemctl start apache2

Remplacer start par :

  • stop pour arrêter le service

  • restart pour le relancer (équivalent d’un stop puis start)

Consulter le fichier de log principal

tail -f /var/log/syslog

Consulter le fichier de log des connexions Web

tail -f /var/log/apache2/access.log

Pour des raisons de confidentialité, seul le root peut lire ce fichier.

Afficher les lignes ajoutées dans un fichier

tail -n 0 -f /var/log/syslog

N’affiche pas les lignes actuellement présentes dans le fichier, affiche seulement les nouvelles lignes, qui sont ajoutées au fur et à mesure.

Mettre à jour un OS Debian

apt-get update
# Peut être très long, ne pas lancer pendant un TP !
apt-get upgrade

Lister le répertoire /var

ls /var

Créer un compte utilisateur manu

adduser manu

Changer le mot de passe de l’utilisateur maelys

passwd maelys

Warning

Seul le root ou l’utilisateur maelys peut modifier ce mot de passe.

Se connecter en FTP sur le PC 203.0.113.10 avec le compte otabenga

Voir Se connecter en FTP sur le PC 203.0.113.10 avec le compte otabenga.

Se connecter en SFTP sur 172.16.110.42, avec l’utilisateur etudiant

Avec FileZilla, la démarche est identique à une connexion FTP. Il faut simplement préfixer l’adresse du serveur SFTP avec sftp:// et ignorer l’avertissement de clé inconnue.

_images/filezilla-sftp.png

Fig. 16 Connexion SFTP avec FileZilla

Télécharger en SFTP le fichier /etc/vsftpd.conf

On suppose que le fichier à télécharger est présent sur le serveur ``198.51.100.42`` et que l’on veut le placer dans ``/home/etudiant/conf/ftp.conf`` sur le PC local. On se connecte sur le serveur avec le compte ``otabenga``.

Dans un terminal etudiant sur le PC local :

scp otabenga@198.51.100.42:/etc/vsftpd.conf /home/etudiant/conf/ftp.conf

Warning

Le répertoire /home/etudiant/conf doit déjà exister, et otabenga doit avoir le droit de lecture sur /etc/vsftpd.conf.

Déterminer si un câble Ethernet est branché sur la carte réseau eth0

Exécuter avec les droits root :

ethtool eth0

Affiche les informations suivantes si un câble est branché :

Settings for eth0:
[...]
Link detected: yes

Et si aucun câble n’est branché :

Settings for eth0:
[...]
Link detected: no

Afficher la date dans un format personnalisé

$ date
vendredi 28 septembre 2018, 12:01:51 (UTC+0200)

$ date +%Y-%m-%d
2018-09-28

$ date +%Hh%M
12h01

Ajouter l’utilisateur maelys au groupe developpeurs

usermod -a -G developpeurs maelys

Cette commande doit être exécutée avec les droits root.

Chercher un motif dans une chaine de caractères

ligne="... Accepted password for etudiant from ..."
echo $ligne | grep "Accepted password"

Affiche :

... Accepted password for etudiant from ...

Et la valeur de retour de la commande est égale à 0.

ligne="... session opened for user etudiant ..."
echo $ligne | grep "Accepted password"

N’affiche rien et la valeur de retour de la commande est différente de 0.

Afficher la quantité de mémoire vive disponible

top

Affiche les informations suivantes :

_images/top.png

Fig. 17 Commande top

Ici, le système dispose d’un total de 246320 KiB de RAM. 72516 KiB sont encore disponibles, le reste est utilisé.

top affiche ensuite la liste des processus du système, classés en fonction du CPU utilisé. Pour classer en fonction de la quantité de mémoire utilisée, appuyer sur Shift  + F, sélectionner %MEM, valider avec s puis quitter avec q.

Pour quitter top, taper q.

Afficher le CPU utilisé

top

Affiche les informations suivantes :

_images/top-cpu.png

Fig. 18 Commande top

Ici, le CPU est utilisé à plus de 40%.

top affiche ensuite la liste des processus du système, classés en fonction du CPU utilisé.

Pour quitter top, taper q.

Tuer tous les processus nommés dhclient

killall dhclient

Résoudre un problème de droits d’accès sur un fichier

Warning

Autant que possible, ne pas modifier les droits par défaut sur le fichier, ni son propriétaire ou son groupe.

Par exemple, on veut autoriser l’utilisatrice maelys à lire le fichier Diagnoser.py dont les propriétés sont les suivantes :

ls -l Diagnoser.py
-rw-r----- 1 etudiant developpeurs 0 sept. 28 .. Diagnoser.py

On voit qu’il appartient à l’utilisateur etudiant et au groupe developpeurs. etudian a des droits de lecture et écriture (rw-), le groupe developpeurs a un accès en lecture seule (r--), les autres n’ont aucun accès (---).

maelys n’a pas accès au fichier :

$ cat Diagnoser.py
cat: Diagnoser.py: Permission non accordée

Cela s’explique par le fait qu’elle ne fait pas partie du groupe developpeurs :

$ groups maelys
maelys : cdrom sudo audio video plugdev netdev bluetooth

Le groupe developpeurs n’apparait pas dans la liste. Il faut donc l’ajouter, et maelys aura accès au fichier.

Déceler une erreur de syntaxe dans un fichier de configuration

Au moment du (re)démarrage du service, une erreur peut parfois s’afficher :

$ sudo systemctl restart networking
Job for networking.service failed because the control process exited with error code.
See "systemctl status networking.service" and "journalctl -xe" for details.

Malheureusement, ce n’est pas toujours le cas. Pour déterminer de manière fiable qu’un service a bien (re)démarré, il faut afficher son état.

Pour en savoir plus sur la raison pour laquelle un service n’a pas pu démarrer, on peut afficher le journal :

$ sudo journalctl -u networking
...
sept. 24 02:04:21 linux2 systemd[1]: Stopping Raise network ...
sept. 24 02:04:21 linux2 ifdown[20547]: ifdown:
/etc/network/interfaces:4: unknown or no method and no inherits keyword specified
sept. 24 02:04:21 linux2 ifdown[20547]: ifdown:
couldn't read interfaces file "/etc/network/interfaces" ...
sept. 24 02:04:21 linux2 systemd[1]: Failed to start ...
...

On voit ici que le script n’a pas réussi à lire le fichier de configuration des cartes réseau. Plus intéressant encore, le message précise que l’erreur se trouve quelque part à la ligne 4. Il suffit alors d'éditer le fichier en question et de scruter la ligne 4 pour déceler l’erreur.

Parfois le message d’erreur ne comporte aucune indication utile pour localiser l’erreur :

$ sudo journalctl -u vsftpd
...
sept. 24 02:05:57 linux2 systemd[1]: Started vsftpd FTP server.
sept. 24 02:05:57 linux2 systemd[1]: vsftpd.service:
Main process exited, code=exited, status=2/INVALIDARGUMENT
sept. 24 02:05:57 linux2 systemd[1]: vsftpd.service:
Unit entered failed state.
sept. 24 02:05:57 linux2 systemd[1]: vsftpd.service:
Failed with result 'exit-code'.

Dans ce cas, il faut démarrer le serveur dans le terminal pour visualiser les erreurs directement :

sudo vsftpd

Dans cet exemple, le serveur refuse de se lancer en invoquant la raison suivante :

500 OOPS: bad bool value in config file for: local_enable

On comprend alors qu’il y a un problème avec le paramètre local_enable dans le fichier de configuration de vsftpd

Activer le routage

Seul le root peut réaliser cette opération.

Éditer le fichier /etc/sysctl.conf et décommenter la ligne suivante :

#net.ipv4.ip_forward=1

Valider les modifications :

sysctl -p

Ajouter une route pour le réseau 203.0.113.0/24 passant par 192.0.2.254

Seul le root peut réaliser cette opération.

ip route add 203.0.113.0/24 via 192.0.2.254

Warning

Cette entrée dans la table de routage disparaitra après un redémarrage.

Supprimer la route pour 203.0.113.0/24

ip route del 203.0.113.0/24

Dézipper l’archive tp2.zip

unzip tp2.zip

Observer les flux qui passent sur eth0

iftop -i eth0 -P -N -n -B -f "udp and port 6000"

Affiche, par exemple, pendant le téléchargement d’un ISO de Debian :

_images/iftop.png

Fig. 19 iftop en action

Pour chaque flux, la flèche (=> ou <=) indique la direction.

Dans l’exemple, on a un premier flux émis par 10.0.2.15 à destination de 194.71.11.176, et un second flux dans l’autre direction.

Les valeurs à droite indiquent le débit moyen (en Ko/s) observé pendant les 2, 10 et 40 dernières secondes, respectivement.

Dans l’exemple, le débit moyen du premier flux est de 4,99 Ko/s et celui du second est de 388 Ko/s, respectivement (sur les 40 dernières secondes).

Configurer un taux de perte de 5% sur la carte eth42

tc qdisc add dev eth42 root netem loss 5%

Afficher la configuration actuelle :

tc qdisc show dev eth42

Effacer la configuration actuelle :

tc qdisc del dev eth42 root netem

Régler la date et l’heure

Relancer le service systemd-timesyncd.

Établir une connexion TCP sur le port 21 du serveur 203.0.113.42

nc 203.0.113.42 21

Si une application écoute sur le port 21 de la machine distante, chaque ligne tapée au clavier lui sera transmise. Dans le cas contraire, la connexion est refusée.

Toutes les réponses de l’application distante s’afficheront dans le terminal.

Créer un couple de clés RSA pour l’utilisateur otabenga

Ouvrir une session avec l’utilisateur otabenga puis :

..code-block:

ssh-keygen

Valider les paramètres par défaut en appuyant sur Entrée.

Cette commande génère un couple de clés qui sont stockées dans le répertoire ~/.ssh/ : - Une clé privée (fichier id_rsa) : cette clé est secrète, seul l’utilisateur otabenga doit la connaitre. - Une clé publique (fichier id_rsa.pub) : il s’agit d’une clé destinée à être connue de tous. L’utilisateur otabenga va devoir la distribuer sur tous les serveurs SSH auquel il veut se connecter.

Note

~ est une variable de shell qui représente le répertoire personnel de l’utilisateur. Dans cet exemple, il s’agit de /home/otabenga/.

Exécuter la commande free -h en SSH sur le serveur 198.51.100.42

ssh admin@198.51.100.42 "free -h"

Exécuter plusieurs commandes en SSH sur le serveur 198.51.100.42

Créer un fichier commandes.txt contenant les commandes à exécuter.

Par exemple :

cat > commandes.txt << EOF
id
uname -a
free -h
df -h
EOF

Pour exécuter ces commandes en “batch” (c’est-à-dire en une seule connexion SSH) :

ssh admin@198.51.100.42 < commandes.txt

Émettre un son de 1000 Hz

beep -f 1000

Se connecter sur le port TCP 42 de 8.8.8.8

# Abandon après deux secondes (-w 2)
# Terminer dès que la connexion est établie (-q 0)
nc 8.8.8.8 42 -q 0 -w 2 < /dev/null

Note

Retourne 0 en cas de succès.

Répertoire des pages Web

Les pages Web publiées par un serveur Apache ou NGINX doivent être placées dans le répertoire :

/var/www/html