[Tuto/HowTo] [GNU/Linux] SSH

Avatar du membre
voxdemonix
Messages : 1237
Enregistré le : lun. févr. 02, 2015 7:28 pm

[Tuto/HowTo] [GNU/Linux] SSH

Message par voxdemonix » dim. mai 01, 2016 2:49 pm

SSH Bases et Avancés

Introduction :
  • SSH est un couteau suisse numérique permettant d'établir des tunnels de données afin d'interagir à distance avec une autre machine de façon sécurisée. Ce logiciel basé sur un système client-server (comme la majorité des trucs sous linux), est très utilisé dans le monde de l'administration numérique de server. L'intégration de SSH est complète sur GNU/Linux mais pas sur Windows (qui nécessite généralement de passer par putty).
Licence du tuto : _ [WTFPL] _

Configurer l'utilisation par clés publique:
L'utilisation de ce mécanisme permet de se passer de la demande de mot de passe et octroi ainsi la possibilité d'automatiser des connexions SSH par exemple au démarrage de la machine (exemple avec le client owncloud ici).
  • Générer la paire de clés :
    • Code : Tout sélectionner

      ssh-keygen -t ed25519 -o -a 100
      ssh-keygen -t rsa -b 4096 -o -a 100
      -o -a 100 : permet de faire boucler l’algorithme 100 fois
      -b : précise qu'on veut une clés a 4096 bit (au début des années 2k la France interdisait plus de 126 bit ;) )
      -t rsa : on utilise l’algorithme RSA
      -t ed25519 : on utilise l'algorithme EdDSA
    L'exporter du client vers le serveur :
    • Code : Tout sélectionner

      ssh-copy-id -i ~/.ssh/id_ed25519.pub userDistant@adresseServerSSH
    L'ajouter au client ssh :
    • Code : Tout sélectionner

      ssh-add
      • Si vous avez l'erreur "Could not open a connection to your authentication agent.", corrigez via

    Si vous avez l'erreur "Failed to add the host to the list of know hosts" corrigez avec la commande suivante :

Sécuriser le Client :
  • Désactiver la feature UseRoaming :
    • Cette feature est très mal documentée et sujette à risque.
      Éditez le fichier de configuration générale du client ssh /etc/ssh/ssh_config

      Code : Tout sélectionner

      sudo nano /etc/ssh/ssh_config
      Et ajoutez les lignes suivantes :
    N'autoriser que les algorithmes de chiffrement symétrique sûr (non cracké actuellement) :
    • Éditez le fichier de configuration du client ssh /etc/ssh/ssh_config

      Code : Tout sélectionner

      sudo nano /etc/ssh/ssh_config
      Et ajoutez dedans :

      Code : Tout sélectionner

      Host *
          Ciphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com,aes128-gcm@openssh.com,aes256-ctr,aes192-ctr,aes128-ctr
    Supprimer les algorithmes de hashage trop fragile qui sont utilisé pour la vérification d'intégrité :
    • Éditez le fichier de configuration du serveur ssh /etc/ssh/ssh_config Et ajoutez dedans :

      Code : Tout sélectionner

      Host *
          MACs hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-ripemd160-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-512,hmac-sha2-256,hmac-ripemd160,umac-128@openssh.com
Sécuriser le Server :
  • Supprimer les clés d'authentification par défaut et générer des nouvelles plus solide :
    • Code : Tout sélectionner

      sudo su
      cd /etc/ssh
      rm ssh_host_*key*
      ssh-keygen -t ed25519 -f ssh_host_ed25519_key < /dev/null
      ssh-keygen -t rsa -b 4096 -f ssh_host_rsa_key < /dev/null
      Note : ça va provoquer une erreur sur votre client lors de votre prochaine connexion. En effet comme la clés de signature du serveur a changé, votre client ne le reconnaît plus. Sur Ubuntu dans le message d'erreur est posté la commande à copiée-collée pour résoudre le problème.
      Elle est du style :

      Code : Tout sélectionner

      ssh-keygen -f "/home/USER/.ssh/known_hosts" -R adresseServerSSH.onion
      Ensuite reconnectez-vous à votre serveur ssh et Hop.
    Supprimer les algorithmes de chiffrement symétrique déjà crackés :
    • Éditez le fichier de configuration du serveur ssh /etc/ssh/sshd_config

      Code : Tout sélectionner

      sudo nano /etc/ssh/sshd_config
      Et ajoutez dedans notre petite liste des alogo autorisé

      Code : Tout sélectionner

      Ciphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com,aes128-gcm@openssh.com,aes256-ctr,aes192-ctr,aes128-ctr
    Supprimer les algorithmes de hashage trop fragile qui sont utilisé pour la vérification d'intégrité :
    • Éditez le fichier de configuration du serveur ssh /etc/ssh/sshd_config Et ajoutez dedans :

      Code : Tout sélectionner

      MACs hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-ripemd160-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-512,hmac-sha2-256,hmac-ripemd160,umac-128@openssh.com
Informations Diverses :
/etc/ssh/ssh_config
  • Fichier de configuration générale du client ssh (openssh-client). Ces paramètres de configuration sont appliqué à tout les users systèmes. Lien ManPage
$HOME/.ssh/config
  • Fichier de configuration du client ssh (openssh-client) d'un user système en particulier. Les paramètres de configuration indiqué dans ce fichier ne s'appliquent qu'à cet utilisateur uniquement.
/etc/ssh/sshd_config
  • Fichier de configuration générale du serveur ssh (openssh-server). lien ManPage
Tester la sécurité d'un serveur SSH accessible via Internet
  • Rendez-vous sur le site web d'aeris à cette adresse et entrez les informations demandées (adresse et umero de port)
Vider entièrement la liste des clés publique d'authentification autorisées à se connecter sur le server Utiliser des applications graphique à distance.
  • Grâce au server X intégré dans tout les Linux actuels vous pouvez lancer une application graphique sur la machine distante via le terminal, et accéder à son interface système (on parle pas de WEBUI ici mais bien de GUI) à distance via ssh.
    Pour se faire c'est très simple: ajoutez l'option -X à votre commande pour vous connecter à votre machine distante via SSH.

    Code : Tout sélectionner

    ssh user@hostname -X
    ensuite testez une application par exemple mousepad, un éditeur de texte intégré au système sur Raspberry Pi et Xubuntu.
Farm Link
~ Infernalis Creatorem ~
  • Rejoins le côté obscure, on a des cookies !
Donation Bitcoin : 1N8QGrhJGWdZNQNSspm3rSGjtXaXv9Ngat
Donation Dash : XmowiBRku3tsEREp7PhpheY4TgeLLDyKdM

Qui est en ligne

Utilisateurs parcourant ce forum : CommonCrawl [Bot] et 0 invité