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 :
FrenchPays :
FranceClavier :
FrançaisNom de la machine :
debian-VotreNomDomaine :
salle110Mot de passe root :
vitrygtrNouveau compte utilisateur :
etudiantMot 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 :
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
CtrletX,Taper
y(pour répondreYes)Appuyer sur
Entrée
Fonctions de l’éditeur de texte nano¶
Les fonctions usuelles sont affichées en bas de la fenêtre :
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¶
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¶
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¶
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¶
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¶
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¶
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¶
Fonction |
Déclencheur |
Rôle |
|---|---|---|
Rappel de commande |
|
Faire défiler les commandes déjà tapées |
Edition de commande |
|
Corriger une commande |
Tab completion |
Touche |
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ù :
etudiantest le nom de l’utilisateur courant (actuel)pc42est 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 :
Touche |
Rôle |
|---|---|
|
Afficher la ligne suivante |
|
Afficher la page suivante |
|
Chercher |
|
Chercher le motif suivant |
|
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
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 :
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 :
stoppour arrêter le servicerestartpour le relancer (équivalent d’unstoppuisstart)
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.
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 :
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 :
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 :
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