TP2 (2h)

SSH et alias

En réalité la commande ouvre un terminal distant sur le serveur via SSH.
  1. Ouvrez un nouveau terminal, puis exécutez la commande . Que se passe-t-il ? Pourquoi ?
  2. Utilisez la commande pour exécuter la commande sur le serveur :
  3. Créez puis testez l'alias correspondant à .
  4. Utilisez SSH pour exécuter la commande . Que se passe-t-il ? Pourquoi ?
  5. Lancez SSH en mode interactif via la commande .
  6. Lancez les commandes puis . Que se passe-t-il ? Pourquoi ?

Configuration de SSH

Alias SSH

Retenir et écrire l’adresse IP du serveur à chaque connexion au serveur via SSH est enquiquinant. Pour éviter cela, on utilise des alias SSH, permettant d'écrire au lieu de . Les alias sont définis dans la configuration du client SSH () comme suit :
PORT !
💡 L’autocomplétion du shell marche aussi pour les alias SSH.
  1. Sur le poste de travail, créez un nouvel alias permettant de vous connecter en tant que .
  2. Connectez au serveur en utilisant cet alias.

Clé SSH

Renseigner son un mot de passe à chaque fois qu’on utilise SSH est enquiquinant, et potentiellement peu sécurisé si le mot de passe est trop faible. On préfère ainsi généralement utiliser une clé SSH permettant aux utilisateurs de se connecter au serveur sans mot de passe.
Le principe est alors très simple, l'utilisateur :
  1. génère une paire de clés via .
  2. enregistre la clef publique dans le serveur (dans le fichier ).
  3. indique au client SSH la clef privée à utiliser (cf suite).
À chaque connexion SSH, le client donne alors une preuve qu'il a connaissance de la clef privée, que le serveur est capable de vérifier grâce à la clef publique.
  1. Sur l'hôte, générez une nouvelle clé SSH grâce à la commande .
    💡 Vous nommerez la clé .
    ⚠ Ne renseignez pas de mot de passe.
  2. Sur l'hôte, déplacez les clés générées dans .
  3. Sur l'hôte, ajoutez le chemin de la clef privée à l'alias .
  4. Sur le serveur, créez le dossier .
  5. Transférez la clé publique dans le fichier .
  6. Ouvrez une nouvelle session SSH en tant que .
  7. Dupliquez l'alias SSH que vous nommerez .
  8. À cet alias, ajoutez l'option .
    ⚠ C’est Authentication et non Authentification.
  9. Utilisez afin de vous connecter via mot de passe.
Message SSH ? Todo user gp accès SSH + disable mdp (ssh ou compte ou login)

Screen

Motivation

  1. Dans un nouvel onglet terminal, lancez une connexion SSH en tant que zeus
  2. Exécutez la commande sleep 1d pour dormir 1 jour.
  3. Affichez les processus de zeus, identifiez le processus que vous venez de lancer.
  4. Fermez l'onglet du terminal, reconnectez vous
    • Retrouvez-vous le processus précédent ?
    • En quoi cela pose-t-il problème ?
  5. Exécutez la commande screen -ARR
  6. Exécutez la commande sleep 1d puis fermez l'onglet
  7. Rouvrez une connexion SSH, et rééxécutez la commande screen -ARR
  8. Qu'observez vous ? En quoi est-ce intéressant ?
  9. En quoi laisser sudo -i dans screen est potentiellement une faille de sécurité ? Mais si accès compte peut créer un alias à sudo, mais prend + de temps, + complexe pour attaque opportuniste e.g. lunch time attack.