Connexion ssh transparente avec Putty vers une Debian

Résolu
Nunuxinuxisuxi -  
mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   -

Bonjour,

Je crée cette discussion pour  vous demander comment je pourrai faire pour me connecter a ma machine (que j'appelle serveur) en ssh avec PuTTY, je m'explique : 

  • Je veux lancer un profil dans PuTTY et arriver sur le shell sans avoir à rentrer mes inforamtions personnelles (parce que le mot de passe de 21 caractères, euuuuuuuuu.. C'est pénible !) 
  • Je n'ai jamais touché au système de clés de Debian.

Merci a ceux qui répondrons !

5 réponses

  1. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 944
     

    Bonjour,

    Réponse courte

    Si tu ne veux pas saisir de mot de passe, à moins que Putty permette de mémoriser le mot de passe (ce qui serait mal), tu n'as que deux solutions :

    • soit adopter un mot de passe plus court (sans doute pas recommandé, j'imagine que tu veux quelque chose de sûr)
    • soit configurer une clé ssh (approche recommandée).

    Réponse détaillée

    Dans ce qui suit:

    • j'appelle client ta machine sous Windows et qui lance le client SSH (Putty ou la commande ssh) ;
    • j'appelle serveur ta machine qui héberge le serveur SSH (donc ta Debian ;
    • toutes les commandes dont je parle sont lancées côté client.

    Création de la clé

    Pour créer une paire de clé SSH soit prudent, en particulier Putty peut les générer dans un format qui ne sera pas compris par un serveur ssh sous Linux. Toute la démarche est détaillée pour un client windows dans ce tutoriel.

    Pour créer une paire de clé SSH qui marchera sous Linux, lance par exemple :

    ssh-keygen -t rsa -b 2048

    Je te recommande de mettre une passphrase (qui sera le mot de passe que tu auras à taper à la place du mot de passe de 20 lettres). Cela génère un fichier ~/.ssh/id_rsa (clé privée) et ~/.ssh/id_rsa.pub (clé public), où ~ désigne ton dossier personnel.

    Important : Ne pas disséminer la clé privée ailleurs que sur un ordinateur personnel (donc, pas un serveur). C'est comme donner les clés permettant d'ouvrir ta maison à un inconnu !

    Remarque : Si tu as plusieurs serveurs, libre à toi d'utiliser la même clé (publique) SSH sur ces différents serveurs, où d'utiliser différentes clés SSH. C'est un peu comme équiper toutes ses maisons avec la même serrure ou des serrures spécifiques. Personnellement, j'utiliser toujours la même clé.

    Déploiement de la clé publique

    Copie ta clé publique à la fin du fichier ~/.ssh/authorized_keys où ~ désigne le dossier personnel sur le serveur du compte auquel tu veux te connecter. Si le dossier ~/.ssh et/ou le fichier ~/.ssh/authorized_keys n'existe pas crée les.

    • Si la machine cliente est sous Linux ou MacOS :
    ssh-copy-id mon_login@ip_ou_fqdn_du_serveur

    Utilisation

    Une fois la clé publique installée sur la machine cible, lance quand tu ouvres une session sur la machine client la commande suivante pour activer l'identité associée à ta clé SSH :

    ssh-add

    Tu peux vérifier que ton identité est chargée :

    ssh-add -L

    Tu peux dès lors te connecter à la machine cible en utilisant la clé ssh:

    ssh mon_login@ip_ou_fqdn_du_serveur

    Ce n'est pas obligatoire, mais pour alléger encore la commande, tu peux configurer ~/.ssh/config où ~ désigne ton dossier personnel sur la machine cliente ainsi, en veillant à remplacer les mots en majuscules par la valeur adéquate :

    ForwardAgent yes
    ForwardX11 no
    ForwardX11Trusted yes
    
    # Mon serveur 
    Host ALIAS_POUR_MON_SERVEUR
    IdentityFile ~/.ssh/id_rsa
    User LOGIN_SUR_MON_SERVEUR
    HostName IP_OU_FQDN_DE_MON_SERVEUR

    Il sera alors possible de lancer directement :

    ssh ALIAS_POUR_MON_SERVEUR

    Si tout ceci marche, tu devrais être capable d'adapter toute la section "Utilisation" dans putty.

    Bonne chance

    1
  2. Ninuxx Messages postés 4 Statut Membre 1
     

    Merci !

    Tout fonctionne correctement ! 

    Par ailleurs je souhaiterais savoir comment je peux configurer sftp sur mon serveur ?

    PS: je me suis crée un compte, donc je suis la même personne que dans les messages précédents. ᕙ⁠(⁠ ⁠ ⁠•⁠ ⁠‿⁠ ⁠•⁠ ⁠ ⁠)⁠ᕗ


    1
    1. Ninuxx Messages postés 4 Statut Membre 1
       

      Un serveur chrooté ?

      0
  3. Nunuxinuxisuxi
     

    Bonjour,

    Merci pour votre réponse !

    J'ai pris connaissance de vos consignes et je suis bloqué à l'étape de transmission de la clé(Déploiement de la cle publique) publique du client(sous windows + putty) au serveur (Debian 11). Pouvez-vous me détailler la commande à exécuter ?(sous putty donc windows.)

    Merci pour votre aide précieuse !!

    0
  4. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 944
     

    Bonjour,

    Dans ce qui suit, sois vigilant à de pas faire de faute de frappe, chaque caractère est important.

    Avec putty la seule manière de faire est de se connecter dans un premier temps avec le mot de passe en SSH. Il faudra créer/corriger le fichier ~/.ssh/authorized_keys et les droits à la main.

    Une fois connecté, crée le dossier ~/.ssh s'il n'existe pas et corrige ses droits :

    mkdir ~/.ssh
    chmod 700 ~/.ssh

    Côté client, ouvre le fichier ~/.ssh/id_rsa.pub qui contient ta clé publique et copie son contenu (ctrl+c).

    Côté serveur, crée/ouvre le fichier ~/.ssh/authorized_keys avec un éditeur texte (par exemple nano) :

    nano ~/.ssh/authorized_keys

    Copie-colle le contenu de ta clé publique dedans (clic droit, coller ou ctrl+v je suppose). Sauve et quitte nano (ctrl x, o, entrée). De retour au terminal, corrige les droits de ce fichier :

    chmod 700 ~/.ssh/authorized_keys

    Puis quitte ta session (ctrl+d).

    Il ne reste plus qu'à configurer la clé SSH dans putty. Tu peux te référer à ce tutoriel.

    Bonne chance

    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 944
     

    Bonjour Ninuxx

    PS: je me suis crée un compte, donc je suis la même personne que dans les messages précédents. ᕙ⁠(⁠ ⁠ ⁠•⁠ ⁠‿⁠ ⁠•⁠ ⁠ ⁠)⁠ᕗ

    Ah merci d'avoir précisé, nous étions un peu perdus :D

    Un serveur chrooté ?

    Dans ce cas il faut que tu regardes comment faire des jail ssh (= prison ssh en bon français). Le répertoire dans lequel sera cantonné l'utilisateur ssh doit effectivement contenir un système minimal pour lui permettre de lancer un shell, nécessaire au bon fonctionnement de ssh et donc de sftp.

    Personnellement je n'ai jamais fait de jail ssh car je n'en ai jamais ressenti l'utilité (j'ai une confiance raisonnable dans mes utilisateurs ssh et dans la manière dont sont configurées mes machines). Toutefois, dans un contexte plus hostile, les jails SSH peuvent avoir du sens. Comme je n'ai jamais testé, je te renvoie à l'un de ces trois tutoriels semblent tenir la route (il y a quelques différences entre eux mais dans ton cas elles ne me paraissent pas essentielles, surtout si tu as compris la logique) :

    Si les jails SSH te paraissent trop compliquées, une autre solution serait d'adopter un autre protocole pour partager tes fichiers qui ne nécessite pas de mettre en place une jail :

    • ftp, voire ftps ;
    • un système de fichiers réseau (samba = cifs ; nfs...)

    Bonne chance

    0
    1. Ninuxx Messages postés 4 Statut Membre 1
       

      Merci pour votre aide !

      Je suis satisfait des option apportées au cours de cette discussion .

      Au revoir.

      0
      1. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 944 > Ninuxx Messages postés 4 Statut Membre
         

        Parfait, bonne continuation :-) Je bascule le sujet en résolu.

        0