Comment se connecter en ssh sans entrer la paraphrase key

Résolu
Lume56 Messages postés 31 Date d'inscription   Statut Membre Dernière intervention   -  
Lume56 Messages postés 31 Date d'inscription   Statut Membre Dernière intervention   -

Bonjour,

J'ai un Raspberry qui fait office de serveur et je me connecte en ssh à l'aide de la clé id_ed25519. Tout se passe bien sauf que je voudrais éviter de renseigner la paraphrase à chaque connexion.

J'ai consulté pas mal de pages et j'ai trouvé keychain mais je dois entrer la paraphrase à chaque connexion. Existe-t-il un moyen de se connecter au serveur sans avoir à l'entrer ?
Voici un extrait de ssh_config sur le poste client et le fichier sshd_config sur le serveur.

ssh_config

# This is the ssh client system-wide configuration file.  See
# ssh_config(5) for more information.  This file provides defaults for
# users, and the values can be changed in per-user configuration files
# or on the command line.

# Configuration data is parsed as follows:
#  1. command line options
#  2. user-specific file
#  3. system-wide file
# Any configuration value is only changed the first time it is set.
# Thus, host-specific definitions should be at the beginning of the
# configuration file, and defaults at the end.

# Site-wide defaults for some commonly used options.  For a comprehensive
# list of available options, their meanings and defaults, please see the
# ssh_config(5) man page.

Include /etc/ssh/ssh_config.d/*.conf

Host 192.168.1.27
Host *
   PasswordAuthentication no
   PreferredAuthentications publickey
#     IdentityFile ~/.ssh/id_ed25519
  Port 22

    SendEnv LANG LC_* COLORTERM NO_COLOR
    HashKnownHosts yes
    GSSAPIAuthentication yes

sshd_config

# This is the ssh client system-wide configuration file.  See
# ssh_config(5) for more information.  This file provides defaults for
# users, and the values can be changed in per-user configuration files
# or on the command line.

# Configuration data is parsed as follows:
#  1. command line options
#  2. user-specific file
#  3. system-wide file
# Any configuration value is only changed the first time it is set.
# Thus, host-specific definitions should be at the beginning of the
# configuration file, and defaults at the end.

# Site-wide defaults for some commonly used options.  For a comprehensive
# list of available options, their meanings and defaults, please see the
# ssh_config(5) man page.

Include /etc/ssh/ssh_config.d/*.conf

Host 192.168.1.27
Host *
   PasswordAuthentication no
   PreferredAuthentications publickey
#     IdentityFile ~/.ssh/id_ed25519
  Port 22

    SendEnv LANG LC_* COLORTERM NO_COLOR
    HashKnownHosts yes
    GSSAPIAuthentication yes


Qui aurait une piste ? Merci !


Linux / Firefox 140.0

A voir également:

7 réponses

mamiemando Messages postés 33875 Date d'inscription   Statut Modérateur Dernière intervention   7 908
 

Bonjour,

Lorsque tu crées une clé SSH, on te demande de la protéger avec une passphrase. Ce n'est pas obligatoire mais fortement recommandé pour sécuriser ta clé SSH.

Une solution possible (mais que je ne recommande pas) consisterait donc à créer une clé SSH avec une passphrase vide (donc pas de passphrase).

La solution propre consiste à utiliser :

ssh-add

Tu peux contrôler que ton identité est chargée avec :

ssh-add -L

Ce mécanisme a plusieurs intérêts pratiques notables :

  • Authentification transparente : On ne lance qu'une seule fois ssh-add (typiquement, quand on lance Linux). Dès lors, toutes les authentifications ssh pouvant s'appuyer sur cette clé sont faites de manière transparente (pas besoin de saisir la passphrase à chaque fois qu'on exploite la clé).
  • Pas de fuite d'information sensible : Dans ssh, la clé publique (e.g. ~/.ssh/id_rsa.pub) est l'équivalent d'un cadenas et la clé privée correspondante (~/.ssh/id_rsa) peut être vue comme la clé capable d'ouvrir ce cadenas.
    • Lorsqu'on installe une clé SSH sur une machine distance (par exemple avec ssh-copy-id), on dissémine sa clé publique (un cadenas). Rien de grave puisqu'on est les seul à en détenir la clé.
    • Cependant, la clé privée, elle, ne doit jamais être disséminée, sans quoi tous les cadenas concernés sont potentiellement compromis. C'est donc un fichier sensible.
    • Alors comment exploiter une clé SSH pour se connecter vers A, puis vers B, puis vers C, sans copier la clé privée sur A et B ? C'est là que ssh-add entre en jeu. En effet, ssh-add permet de transporter au grès des connexions SSH son identité SSH. On peut d'ailleurs le vérifier une fois connecté sur A, B, ou C avec la commande : 
      ssh-add -L

Bonne chance

1
brucine Messages postés 23664 Date d'inscription   Statut Membre Dernière intervention   3 921
 

Bonjour,

apparemment comme ça, mais la voie keychain ne va pas supprimer globalement la paraphrase, elle va simplement la limiter à chaque reboot au lieu de chaque connexion.

https://learn-linux.com/2022/10/06/benefit-of-keychain-over-ssh-agent/

0
Lume56 Messages postés 31 Date d'inscription   Statut Membre Dernière intervention  
 

Merci. Je crois que j'obtiens la même chose sans installer keychain. J'ai constaté qu'une fois connecté au serveur (en entrant la paraphrase), je pouvais quitter le serveur et me reconnecter sans avoir à entrer de nouveau la paraphrase... Par contre, une nouvelle session exigera d'entrer la paraphrase.

0
brupala Messages postés 112509 Date d'inscription   Statut Membre Dernière intervention   14 297
 

Salut,

une petite chose:

La passphrase, contrairement à la clé nest pas demandée par le serveur où tu te connectes, mais par ton SSH client local qui en a besoin pour accéder à ta clé privée, stockée localement.

0
Lume56 Messages postés 31 Date d'inscription   Statut Membre Dernière intervention  
 

Merci pour la précision. C'est plus clair. 

Je vais poster ailleurs un autre message sur la migration vers le web de mon site installé sur le serveur qui est encore en mode local. Je cafouille encore avec les VirtualHosts. À bientôt ;=)

0

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

Posez votre question
Lume56 Messages postés 31 Date d'inscription   Statut Membre Dernière intervention  
 

Bonsoir, 

Merci pour tes réponses toujours très claires.

À chaque connexion, je n'ai que la paraphrase à renseigner. L'identité est bien entrée.

bernard@debian:~$ ssh-add -L
ssh-ed25519 XXXXXXXXXXXXXXXXX bernard@debian
0
mamiemando Messages postés 33875 Date d'inscription   Statut Modérateur Dernière intervention   7 908
 

Bonjour @Lume56 StatutMembre

Parfait ! Après à l'extrême (vu que la question initiale était comment éviter les mots de passe) tu peux refaire une clé ssh sans passphrase, Cependant, c'est quelque chose que je ne recommande pas, car si quelqu'un récupère ta clé privée, il peut accéder à toutes les machines sur lesquelles tu as installé ta clé publique.

As-tu toutes tes réponses ? Si oui peux-tu basculer le sujet en résolu ?

Bonne chance

0
Lume56 Messages postés 31 Date d'inscription   Statut Membre Dernière intervention  
 

Merci, je préfère me connecter avec une paraphrase !. 

Je clos la discussion. 

0
brupala Messages postés 112509 Date d'inscription   Statut Membre Dernière intervention   14 297
 

Salut,

Arf,

justement on parle de passphrase pour ce qui protège la clé privée SSH, mais si on se connecte par son login normal, là on parle de mot de passe (password).

0
Lume56 Messages postés 31 Date d'inscription   Statut Membre Dernière intervention  
 

Merci de relever mon erreur ! 

0