Comment se connecter en ssh sans entrer la paraphrase key
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
- Comment se connecter en ssh sans entrer la paraphrase key
- Se connecter à gmail sur téléphone - Guide
- Comment connecter chromecast à la télé - Guide
- Se connecter à ma boite hotmail - Guide
- Key windows 10 - Guide
- Rechercher ou entrer l'adresse - Guide
4 réponses
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/
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.
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 ;=)
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