UbuntuXenial:SecureShell

De Wiki Fred
Aller à : navigation, rechercher
Secure Shell (SSH)


Installation


  • apt-get install openssh-server
    


Utilisation


Il est maintenant possible de se connecter au serveur avec un client SSH comme putty

  • Le port par défaut le port 22

  • La configuration du serveur se trouve dans le fichier /etc/ssh/sshd_config
  • Le nom du service est ssh :
    service ssh [start/stop/restart/info]
    
  • Les logs se trouvent dans /var/log/auth.log :
    cat /var/log/auth.log | grep ssh
    
 


Sécurisation


Authentification par clé


La clé permet de garantir à un système qu'un utilisateur est bien celui qu'il prétend être.

L'authentification par clé fonctionne grâce à trois composants :

  • Une clé publique qui sera exportée sur chaque hôte sur lequel on souhaite pouvoir se connecter.
  • Une clé privée qui permet de prouver son identité aux serveurs.
  • Une passphrase qui permet de sécuriser la clé privée. Bien que cette dernière n'est pas obligatoire, il est fortement conseillé de l'utiliser.


Changer le port


  • Editer le fichier /etc/ssh/sshd_config
  • Remplacer
    Port 22
    
    par
    Port xxxx
    
  • Redémarrer le service


Interdire le connexion avec l'utilisateur root


  • Editer le fichier /etc/ssh/sshd_config
  • Remplacer
    PermitRootLogin yes
    
    par
    PermitRootLogin no
    
  • Redémarrer le service


Désactiver la connection avec mot de passe


  • Editer le fichier /etc/ssh/sshd_config
  • Remplacer
    ChallengeResponseAuthentication yes
    
    par
    ChallengeResponseAuthentication no
    
  • Remplacer (et décommenter)
    #PasswordAuthentication yes
    
    par
    PasswordAuthentication no
    
  • Remplacer
    UsePAM yes
    
    par
    UsePAM no
    
  • Redémarrer le service



Message d’accueil


Une fois le client connecté le Message Of The Day (motd) est affiché

Welcome to Ubuntu 16.04.1 LTS (GNU/Linux 4.4.0-34-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

0 packages can be updated.
0 updates are security updates.


Last login: Fri Aug 26 09:38:27 2016 from 192.168.56.1

Ce message est construit à partir

  • Du contenu du fichier /run/motd.dynamic (généré par l’exécution des différents script présents dans /etc/update-motd.d/)
  • Du contenu du fichier /etc/motd
  • Des informations concernant la dernière connexion (en fonction de la directive PrintLastLog contenue dans /etc/ssh/sshd_config)
  • Des éventuelles informations affichées par le script .bashrc de l'utilisateur qui se connecte


Lors d'une connexion, le système va afficher le message d’accueil avant de générer le fichier /run/motd.dynamic. Les informations affichées par ce dernier auront donc en fait été générées lors de la connexion précédente. Cela afin d'éviter qu'un des scripts ne bloque la connexion parce qu’il prend trop de temps à s'exécuter. Il est néanmoins possible de changer ce comportement (générer /run/motd.dynamic avant l'affichage du message d’accueil) en modifiant le fichier /etc/pam.d/sshd pour remplacer la ligne
session    optional   pam_motd.so  motd=/run/motd.dynamic noupdate

par

session    optional   pam_motd.so  motd=/run/motd.dynamic
 


Il est possible de voir le résultat de l'exécution des différents script présents dans /etc/update-motd.d/ avec
sudo run-parts /etc/update-motd.d/
 


Il est possible d'empêcher l'exécution d'un des script (et donc ne plus afficher certaines informations) en lui retirant simplement le droi d'exécution
sudo chmod -x /etc/update-motd.d/xxx
 


Exemple de personnalisation


  • Installer figlet
sudo apt-get install figlet -y
  • Editer le fichier /etc/update-motd.d/00-header pour y ajouter
figlet -f big Hello World
  • Désactiver le message concernant la documentation
sudo chmod -x /etc/update-motd.d/10-help-text
  • Installer landscape-common
sudo apt-get install landscape-common -y
  • Supprimer le message Graph this data and manage this system at https://landscape.canonical.com/ en éditant le fichier /etc/update-motd.d/50-landscape-sysinfo et remplacer
/usr/bin/landscape-sysinfo
par
/usr/bin/landscape-sysinfo --exclude-sysinfo-plugins=LandscapeLink
  • Ajouter du texte après la ligne Last login en editant le fichier ~/.bashrc (uniquement pour un seul utilisateur) ou /etc/profile (pour tous les utilisateurs)
  • Vérifier
run-parts /etc/update-motd.d/


Ce qui donnera

 _    _      _ _        __          __        _     _
| |  | |    | | |       \ \        / /       | |   | |
| |__| | ___| | | ___    \ \  /\  / /__  _ __| | __| |
|  __  |/ _ \ | |/ _ \    \ \/  \/ / _ \| '__| |/ _` |
| |  | |  __/ | | (_) |    \  /\  / (_) | |  | | (_| |
|_|  |_|\___|_|_|\___/      \/  \/ \___/|_|  |_|\__,_|


Welcome to Ubuntu 14.04.1 LTS (GNU/Linux 3.10.23-xxxx-std-ipv6-64 x86_64)
Ubuntu 14.04.1 LTS

  System information as of Mon Aug 11 15:14:04 CEST 2014

  System load:    0.08               Processes:           112
  Usage of /home: 0.0% of 882.16GB   Users logged in:     0
  Memory usage:   2%                 IP address for eth0: xxx
  Swap usage:     0%

Last login: Mon Aug 11 15:14:05 2014 from xxx

Hello world again !