SSH - Freyens
Home Informatique Projets CV WOT Mmm J'aime Coup de gueule Famille Web Radio Belge B&M Art-NFT

C'est une pub! Ce thême est basé sur w3 css.

Oui vous êtes capable de modifier ce thême

Cool? Oui, avec plein d'exemples faciles à comprendre et à modifier.

Aller sur W3.CSS Tutorial c'est en anglais mais google peux traduire les pages.

SSH

La curiosité n’est pas un vilain défaut mais une qualité fondamentale.

< ^ >

Nous allons maintenant proposer aux différentes personnes présentent en classe de se connecter sur nos machines virtuelles Debian.

Nous allons donc avoir besoin de leur addresse ip

ip a | grep -o 192.168.[0-9]*.[0-9]* | header -n 1

Nous avons déjà vu précédemment cet enchaînement de commandes.

J'ai affiché la liste des ip à côté de chaque noms des différents participants.es de ce cours.

Nous allons maintenant nous connecter tour à tour sur chaque machine Debian active pendant ce cours via:

ssh (votre id)@(l'ip d'une machine de la classe)

Bravo vous êtes connecté sur la machine, la première fois il faudra répondre yes, puis entrer le mot de passe défini au début du cours

On va maintenant installer un nouveau programme, il s'agit de nmap.

sudo apt install nmap -y

Et là, celà ne fonctionne pas!, oui vous êtes pas sur votre machine virtuelle, vous êtes sur une machine virtuelle où vous n'avez actuellement aucun droit.

Nous allons donc revenir sur notre machine virtuelle en tapant:

exit

Vous avez dit paquet?

On recommence ! :

sudo apt install nmap -y

Normalement nmap va s'installer après avoir taper votre mot de passe.

Maintenant on va vérifier qu'elles sont les ports actifs

nmap (votre ip)

Le port 22 est ouvert, ssh doit être actif.

Ca ne fonctionne pas ?
On vérifie que le service est bien actif

sudo systemctl status ssh

On vérifie si le paquet est bien installé.

S'il n'est pas actif

sudo systemctl start ssh

Si l'on veut que le service soit actif à chaque démarrage ?

sudo systemctl enable ssh

Le paquet est bien installé ?

apt-cache policy ssh

L'affichage vous montre :

ssh:
  Installé : 1:8.4p1-5
  Candidat : 1:8.4p1-5
 Table de version :
 *** 1:8.4p1-5 500
       500 http://deb.debian.org/debian bullseye/main amd64 Packages
       500 http://deb.debian.org/debian bullseye/main i386 Packages
       100 /var/lib/dpkg/status

Le numéro de version installée, le numéro de version, les dépots des versions disponibles.

On va maintenant regarder la liste des fichiers installés par ce paquet

dpkg -L ssh

 

/. /usr
/usr/share
/usr/share/doc
/usr/share/doc/ssh
/usr/share/doc/ssh/NEWS.Debian.gz
/usr/share/doc/ssh/changelog.Debian.gz
/usr/share/doc/ssh/changelog.gz
/usr/share/doc/ssh/copyright

Il n'y a pas grand chose! En effet, ce paquet est ce que l'on appelle un méta paquet, c'est un paquet qui va contenir une liste de paquet à installer pour dans notre cas que ssh fonctionne.

On peut voir des fichiers avec l'extension .gz, se sont des fichiers comprimés, on peut les consulter via zless, zcat, zmore ou faire une recherche dedans via zgrep.

zless /usr/share/doc/ssh/NEWS.Debian.gz

q pour sortir, il faudra penser en anglais, ici on a de la chance quitter.

Allons voir les dépendances

apt-cache depends ssh

 

ssh
Pré-Dépend: dpkg
  dpkg:i386
Dépend: openssh-client
  openssh-client:i386
Dépend: openssh-server
  openssh-server:i386

On peut voir que deux paquets composent ce meta paquet ssh, openssh-client et openssh-server.

On va donc aller voir le contenu du paquet openssh-server:

dpkg -L openssh-server

La liste des fichiers est déjà beaucoup plus longue. On va donc filtrer pour voir les binaires

dpkg -L openssh-server | grep bin

C'est nettement plus réduit

/usr/sbin
/usr/sbin/sshd

C'est la deuxième ligne qui nous intéresse, /usr/bin/sshd c'est le service ssh le d c'est pour démon.

Pourquoi rechercher bin ?
La réponse est dans la variable $PATH, cette variable donne la liste des dossiers où l'on doit chercher des programmes. C'est évidement l'interpréteur de commande qui le fera pour vous.

echo $PATH

Le séparateur dans cette variable est le caractère deux points ':'.

Nous avons été voir le paquet server allons voir le contenu du paquet client:

dpkg -L openssh-client

La aussi, la liste est très longue, un petit filtre ?

dpkg -L openssh-client | grep bin
/usr/bin
/usr/bin/scp
/usr/bin/sftp
/usr/bin/ssh
/usr/bin/ssh-add
/usr/bin/ssh-agent
/usr/bin/ssh-argv0
/usr/bin/ssh-copy-id
/usr/bin/ssh-keygen
/usr/bin/ssh-keyscan
/usr/bin/slogin

Une explication sur ces programmes ?

for n in $(dpkg -L openssh-client | grep bin)
do
whatis $n
done

Ce qui donne :

/usr/bin : rien d'adéquat
scp (1) - OpenSSH secure file copy
sftp (1) - OpenSSH secure file transfer
ssh (1) - OpenSSH remote login client
ssh-add (1) - adds private key identities to the OpenSSH authentication agent
ssh-agent (1) - OpenSSH authentication agent
ssh-argv0 (1) - replaces the old ssh command-name as hostname handling
ssh-copy-id (1) - use locally available keys to authorise logins on a remote machine
ssh-keygen (1) - OpenSSH authentication key utility
ssh-keyscan (1) - gather SSH public keys from servers
slogin (1) - OpenSSH remote login client

< ^ >