TP2 (2h)
SSH et alias
En réalité la commande ouvre un terminal distant sur le serveur via SSH.
Ouvrez un nouveau terminal, puis exécutez la commande . Que se passe-t-il ? Pourquoi ? Utilisez la commande pour exécuter la commande sur le serveur : Créez puis testez l'alias correspondant à . Utilisez SSH pour exécuter la commande . Que se passe-t-il ? Pourquoi ? - Lancez SSH en mode interactif via la commande .
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 :
💡 L’autocomplétion du shell marche aussi pour les alias SSH.
Sur le poste de travail, créez un nouvel alias permettant de vous connecter en tant que . 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 :
- génère une paire de clés via .
- enregistre la clef publique dans le serveur (dans le fichier ).
- 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.
- 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. Sur l'hôte, déplacez les clés générées dans . Sur l'hôte, ajoutez le chemin de la clef privée à l'alias . Sur le serveur, créez le dossier . Transférez la clé publique dans le fichier . Ouvrez une nouvelle session SSH en tant que . Dupliquez l'alias SSH que vous nommerez . À cet alias, ajoutez l'option .
⚠ C’est Authentication et non Authentification.Utilisez afin de vous connecter via mot de passe.
Screen
Motivation
- Dans un nouvel onglet terminal, lancez une connexion SSH en tant que zeus
- Exécutez la commande sleep 1d pour dormir 1 jour.
- Affichez les processus de zeus, identifiez le processus que vous venez de lancer.
- Fermez l'onglet du terminal, reconnectez vous
Retrouvez-vous le processus précédent ? En quoi cela pose-t-il problème ?
- Exécutez la commande screen -ARR
- Exécutez la commande sleep 1d puis fermez l'onglet
- Rouvrez une connexion SSH, et rééxécutez la commande screen -ARR
Qu'observez vous ? En quoi est-ce intéressant ? 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.