info:connection_ssh_sans_mot_de_passe

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
info:connection_ssh_sans_mot_de_passe [2019/01/05 06:15] – radeffinfo:connection_ssh_sans_mot_de_passe [2026/10/02 06:00] (Version actuelle) – radeff
Ligne 1: Ligne 1:
 ====== Connexion SSH ====== ====== Connexion SSH ======
-{{tag>ssh, password, security}} 
  
-Voir aussi: https://www.microlinux.fr/cle-ssh/ 
  
-====== Solution avec mot de passe ====== +====== Solution sans mot de passe ======
-il vaudrait mieux toujours avoir un passphrase pour protéger ses clés, sinon un hacker qui entrerait dans ~/.ssh pourrait piquer les clés +
- +
- +
-====== pam-keyring ====== +
- +
-utiliser pam-keyring pour ne pas avoir à entrer la passphrase à chaque fois +
- +
-apt-get install libpam-ssh libpam-keyring +
- +
-http://ubuntu-tutorials.com/2007/07/12/automatically-unlocking-the-default-gnome-keyring-pam-keyring/ +
- +
-puis +
- +
-http://b.twidi.com/index.php/2007/05/26/78-connexion-linux-ubuntu-avec-passphrase-ssh-pm-ssh +
- +
-si on a déjà une clé ssh (voir ci-dessous) mais qu'elle n'est pas protégée par un passphrase, voici la procédure +
- +
-http://sysadmin.gnome.org/users/security.html+
  
-You can also add a passphrase to an existing key without a passphrase by using ssh-keygen -p. However, only do it if you have just generated the key, or if you are absolutely sure the said key had been totally safe until then. If you cannot be completely sure, your key might have been compromised meanwhile, in which case setting a passphrase will not help, and it should be immediately replaced.  
- 
-====== Solution sans mot de passe ====== 
-pratique mais semble-t-il pas assez solide pour bon hacker 
-<code> 
-solution avec une clef ssh sans mot de passe 
  
 Le but n'est pas de se passer de sécurité (au contraire).  Le but n'est pas de se passer de sécurité (au contraire). 
Ligne 36: Ligne 10:
 Sur les deux postes sshd tourne et est correctement configuré.  Sur les deux postes sshd tourne et est correctement configuré. 
 Sur chacun des postes on génére des clés : Sur chacun des postes on génére des clés :
-[fred@frodon ~]$ ssh-keygen -t rsa+    [fred@frodon ~]$ ssh-keygen -t rsa
  
 (entrez une passe-phrase vide), et : (entrez une passe-phrase vide), et :
-[bibi@gandalf ~]$ ssh-keygen -t rsa+    [bibi@gandalf ~]$ ssh-keygen -t rsa
  
 (entrez aussi une passe-phrase vide).  (entrez aussi une passe-phrase vide). 
 Ensuite, il suffit de copier la clé publique d'un poste sur l'autre dans la liste des clés autorisées : Ensuite, il suffit de copier la clé publique d'un poste sur l'autre dans la liste des clés autorisées :
-[fred@frodon ~]$ scp ~fred/.ssh/id_rsa.pub bibi@gandalf.tux:~bibi/.ssh/authorized_keys2+    [fred@frodon ~]$ scp ~fred/.ssh/id_rsa.pub bibi@gandalf.tux:~bibi/.ssh/authorized_keys2
  
 et : et :
-[bibi@gandalf ~]$ scp ~bibi/.ssh/id_rsa.pub fred@frodon.tux:~fred/.ssh/authorized_keys2+    [bibi@gandalf ~]$ scp ~bibi/.ssh/id_rsa.pub fred@frodon.tux:~fred/.ssh/authorized_keys2
  
 (il peut falloir remplacer : authorized_keys2 par authorized_keys).  (il peut falloir remplacer : authorized_keys2 par authorized_keys). 
 Et voilà, à partir de maintenant, une connection : Et voilà, à partir de maintenant, une connection :
-[bibi@gandalf ~]$ ssh fred@frodon+    [bibi@gandalf ~]$ ssh fred@frodon
  
 ou ou
-[fred@frodon ~]$ ssh bibi@gandalf+    [fred@frodon ~]$ ssh bibi@gandalf
  
 ne demandera pas de mot de passe.  ne demandera pas de mot de passe. 
 +
 Mais ce ne sera pas pour autant trop "désécurisée", puisque pour se connecter  Mais ce ne sera pas pour autant trop "désécurisée", puisque pour se connecter 
 sans mot de passe sur frodon il faudra réussir à se connecter sans mot de passe sur frodon il faudra réussir à se connecter
  avec mot de passe sur gandalf et réciproquement.  avec mot de passe sur gandalf et réciproquement.
 +
 source: http://lea-linux.org/cached/index/Trucs:Oldid=168.html source: http://lea-linux.org/cached/index/Trucs:Oldid=168.html
-</code>+
  
 ===== note Fred: infomaniak ===== ===== note Fred: infomaniak =====
Ligne 69: Ligne 45:
  
 voir https://www.infomaniak.com/fr/support/faq/2054/se-connecter-a-votre-hebergement-a-laide-dune-cle-ssh voir https://www.infomaniak.com/fr/support/faq/2054/se-connecter-a-votre-hebergement-a-laide-dune-cle-ssh
-===== note Fred: server X ===== 
  
 +<note important>ajout oct. 2026</note>
  
-si on veut lancer des logiciels X sur le serveur, il faut:+toujours chez infomaniak, si vous avez le message
  
-sur ubuntu, utiliser l'option -X dans la commande ssh, ex:+<code bash> 
 +** WARNING: connection is not using a post-quantum key exchange algorithm. 
 +** This session may be vulnerable to "store now, decrypt later" attacks. 
 +** The server may need to be upgraded. See https://openssh.com/pq.html 
 +</code>
  
-<code> +voici la solution: 
-#!/bin/bash + 
-xhost + +    vim ~/.ssh/config  
-gnome-terminal --tab-with-profile=fredox -x ssh -X fred@www.fredox.ch+ 
 +<code bash> 
 +Host votre-serveur.infomaniak.com 
 +    # Force l'utilisation d'algorithmes d'échange de clés classiques pour éviter l'avertissement PQ 
 +    KexAlgorithms curve25519-sha256,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,diffie-hellman-group14-sha256
 </code> </code>
-//ancienne solution// 
-  * mentionner xhost+ avant la connection ssh 
-  * vérifier dans /etc/ssh/sshd_config qu'on a bien X11Forwarding yes 
-  * vérifier dans $HOMEDIR/.ssh/config qu'on a bien  ForwardX11 yes 
  
-====== Pour forcer l'identification par clés ======+En listant explicitement les algorithmes classiques, le client SSH ne tentera pas de négocier d'algorithme post-quantique et n'affichera donc pas l'avertissement. 
 +===== note Fred: spécifier la clé utilisée ===== 
 +<note tip>différentes clés? il suffit de passer la bonne lors de la connexion</note> 
 +   ssh -i ~/.ssh/id_rsa trucmuche@bidule.org 
 + 
 + 
 +====== SSH serveur ====== 
  
 +https://ubuntu.com/server/docs/service-openssh
 +===== Pour forcer l'identification par clés =====
 Si on veut interdire l'accès avec un mot de passe (forcer l'usage des clés): Si on veut interdire l'accès avec un mot de passe (forcer l'usage des clés):
  
Ligne 100: Ligne 89:
 https://help.ubuntu.com/community/SSH/OpenSSH/Configuring https://help.ubuntu.com/community/SSH/OpenSSH/Configuring
 http://www.cyberciti.biz/faq/force-ssh-client-to-use-given-private-key-identity-file/ http://www.cyberciti.biz/faq/force-ssh-client-to-use-given-private-key-identity-file/
 +
 +<note tip>Si on est total parano on peut encore ajouter un [[fail2ban|fail2ban]] mais vu qu'on interdit l'accès par login/password c'est pas vraiment utile</note>
 +
 +====== sshpass (souci avec rsync, scp, sftp etc) ======
 +Il peut arriver que ssh fonctionne avec la clé selon la méthode décrite //supra//, mais que le système vous demande un mot de passe pour des programmes comme rsync, scp etc. Il y a sûrement une solution plus élégante, mais moi j'ai choisi celle de **sshpass**
 +
 +installer:
 +    sudo apt-get install sshpass
 +
 +exemple:
 +     sshpass -p "password" rsync root@1.2.3.4:/abc /def
 +
 +si on veut (en plus c'est plus sûr) on peut mettre le mot de passe dans un fichier
 +     sshpass --password-file=rsync_pass rsync root@1.2.3.4:/abc /def
 +
 +doc https://www.cyberciti.biz/faq/linux-unix-applesox-ssh-password-on-command-line/
 +
 +===== Voir aussi =====
 +  * https://www.microlinux.fr/cle-ssh/
 +  * [[https://lord.re/posts/187-ssh-key-restricted-rsync-backup/|Restreindre des clés SSH pour du backup via rsync]] (sur l'excellent blog de lord)
 +  * https://quick-tutoriel.com/ssh-securise-sans-mot-de-passe/
 +  * [[tmux|tmux sessions]]
 +
 +{{tag>ssh password security}}
  • info/connection_ssh_sans_mot_de_passe.1546665321.txt.gz
  • Dernière modification : 2019/01/05 06:15
  • de radeff