Featured image of post Secure Shell (SSH)

Secure Shell (SSH)

Comment voir le bout du tunnel ?

Au dĂ©but des annĂ©es 90, les rĂ©seaux informatiques Ă©taient en train de se dĂ©velopper Ă  un rythme effrĂ©nĂ© et les administrateurs système avaient besoin d’un moyen sĂ»r et sĂ©curisĂ© pour accĂ©der Ă  distance Ă  leurs systèmes. C’est Ă  ce moment que la technologie SSH (Secure Shell) est apparue pour remplir ce vide.

SSH a Ă©tĂ© dĂ©veloppĂ© en 1995 par Tatu Ylönen, un chercheur finlandais en sĂ©curitĂ© informatique. Il a créé SSH pour remplacer les protocoles de connexion distante peu sĂ©curisĂ©s, tels que Telnet et rlogin, qui transmettaient les informations en clair et Ă©taient vulnĂ©rables aux attaques de l’Internet public.

Depuis son lancement, SSH est devenu l’outil de choix pour les administrateurs système et les dĂ©veloppeurs qui souhaitent accĂ©der Ă  distance Ă  leurs ordinateurs et serveurs. Il offre une connectivitĂ© fiable et sĂ©curisĂ©e pour gĂ©rer les systèmes distants, ce qui le rend indispensable pour les entreprises et les organisations.

Avec la technologie de cryptage de bout en bout et l’authentification Ă  clĂ© publique, SSH garantit la sĂ©curitĂ© des communications et protège les informations sensibles des regards indiscrets. De plus, il est simple Ă  utiliser et ne nĂ©cessite qu’un client SSH installĂ© sur l’ordinateur local et un serveur SSH en cours d’exĂ©cution sur l’ordinateur distant.

Les fichiers de configuration sont stocké dans /etc/ssh/

ssh

1
2
3
4
5
6
7
8
9
Host * # range d'ip
    Port 22 # port d'écoute
    PasswordAuthentication no # Ă  voir
    StrictHostKeyChecking ask # option Ă  voir
    IdentityFile ~/.ssh/id_ed25519
    KexAlgorithms curve25519-sha256@libssh.org # the key exchange methods that are used to generate per-connection keys
    Ciphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com # the ciphers to encrypt the connection
    MACs    hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com #  the message authentication codes used to detect traffic modification
Include /etc/ssh/ssh_config.d/*.cosys

sshd

“sshd” est l’acronyme pour “Secure Shell Daemon” et c’est le processus qui exĂ©cute le serveur SSH sur un ordinateur. Lorsqu’un client SSH se connecte Ă  un serveur distant, il Ă©tablit une connexion avec le processus “sshd” sur le serveur. Le serveur SSH utilise le protocole SSH pour authentifier le client et Ă©tablir une session sĂ©curisĂ©e pour les communications. En gros, le processus “sshd” sur le serveur est la partie serveur de la solution SSH.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
HostKey /etc/ssh/ssh_host_ed25519_key

# Ciphers and keying
KexAlgorithms curve25519-sha256@libssh.org # the key exchange methods that are used to generate per-connection keys
Ciphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com # the ciphers to encrypt the connection
MACs    hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com # L'algorithme MAC est utilisé dans la version 2 du protocole pour la protection de l'intégrité des données

# Authentication
LoginGraceTime 2m # Le serveur se déconnecte après ce délai si l'utilisateur ne s'est pas connecté
PermitRootLogin no # login avec le compte root
StrictModes yes # Spécifie si sshd doit vérifier les modes et le propriétaire des fichiers de l'utilisateur et du répertoire de base (home directory) de l'utilisateur avant d'accepter une connexion
MaxAuthTries 3
MaxSessions 3
AuthenticationMethods publickey
PubkeyAuthentication yes
PasswordAuthentication no
AuthorizedKeysFile      .ssh/authorized_keys


# Options
X11Forwarding yes
ChallengeResponseAuthentication no
PrintMotd no

# Accept locale-related environment variables
AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
AcceptEnv LC_IDENTIFICATION LC_ALL LANGUAGE
AcceptEnv XMODIFIERS

Subsystem       sftp    /usr/libexec/openssh/sftp-server

la gestion des clés

il y a 2 endroits ou sont stocké les clés:

  • dans le home de l’utilisateur.

  • les clĂ©s de la machine qui sont dans le /etc/ssh

pour qu’une machine soient autorisĂ© il faut que le clĂ© public soit dans le fichier ~/.ssh/authorized_keys

CC BY-NC-ND
comments powered by Disqus
Généré avec Hugo
Thème Stack conçu par Jimmy