Connexion ssh transparente avec Putty vers une Debian
Résolu/Fermémamiemando Messages postés 33363 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 16 novembre 2024 - 16 sept. 2022 à 12:33
- Connexion ssh transparente avec Putty vers une Debian
- Gmail connexion - Guide
- Hotmail connexion - Guide
- Facebook connexion - Guide
- Putty - Télécharger - Divers Web & Internet
- Windows 7 vers windows 10 - Accueil - Mise à jour
5 réponses
Modifié le 12 sept. 2022 à 17:52
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
- Si la machine client est sous Windows : La commande ssh-copy-id n'existe pas encore sous Windows, donc je te renvoie au paragraphe correspondant de ce tutoriel.
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
Modifié le 13 sept. 2022 à 21:59
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. ᕙ( • ‿ • )ᕗ
14 sept. 2022 à 08:22
Un serveur chrooté ?
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 !!
13 sept. 2022 à 10:30
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question14 sept. 2022 à 11:02
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) :
- https://www.tecmint.com/restrict-ssh-user-to-directory-using-chrooted-jail/
- https://linuxconfig.org/jail-ssh-user-to-home-directory-on-linux
- https://le-guide-du-secops.fr/2022/06/09/cloisonner-vos-utilisateurs-jail-ssh-sftp-hybrid-debian-ubuntu/
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
15 sept. 2022 à 16:20
Merci pour votre aide !
Je suis satisfait des option apportées au cours de cette discussion .
Au revoir.
16 sept. 2022 à 12:33
Parfait, bonne continuation :-) Je bascule le sujet en résolu.