Je veux pouvoir me connecter à un site distant via ssh sans avoir à entrer le mot de passe à chaque fois.
- Comment le mettre en place ?
- Une commande différente est-elle nécessaire pour exécuter une session sans mot de passe ?
Je veux pouvoir me connecter à un site distant via ssh sans avoir à entrer le mot de passe à chaque fois.
Exécutez cette commande (si vous avez déjà une clé SSH, vous pouvez sauter cette étape) :
ssh-keygen
Vous devrez ensuite copier la nouvelle clé sur votre serveur. :
ssh-copy-id user@host
## or if your server uses custom port no:
ssh-copy-id "user@host -p 1234"
Une fois la clé copiée, connectez-vous à la machine par ssh comme d'habitude :
ssh user@host
Vous pouvez maintenant vous connecter sans entrer de mot de passe à partir de la machine sur laquelle vous avez exécuté les commandes.
not-marco@rinzwind-desktop:~$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/not-marco/.ssh/id_rsa):
Created directory '/home/not-marco/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/not-marco/.ssh/id_rsa.
Your public key has been saved in /home/not-marco/.ssh/id_rsa.pub.
The key fingerprint is:
b1:25:04:21:1a:38:73:38:3c:e9:e4:5b:81:e9:ac:0f not-marco@rinzwind-desktop
The key's randomart image is:
+--[ RSA 2048]----+
|.o= . oo. |
|*B.+ . . |
|*=o . o . |
| = . = |
|. o S |
|E. |
| o |
| . |
| |
+-----------------+
not-marco@rinzwind-desktop:~$ ssh-copy-id not-marco@server
not-marco@server's password:
Now try logging into the machine, with "ssh 'not-marco@server'", and check in:
~/.ssh/authorized_keys
to make sure we haven't added extra keys that you weren't expecting.
Cela suppose que vous pouvez déjà vous connecter avec succès à votre serveur via SSH.
Vous devrez générer une paire de clés SSH qui vous permettra de vous identifier en tant que vous-même sans utiliser de mot de passe. Vous pouvez choisir de protéger les clés à l'aide d'un code de passe si vous le souhaitez, mais celui-ci peut être laissé vide pour permettre un accès SSH totalement sans mot de passe.
ssh-keygen
cela créera un id_rsa
y id_rsa.pub
fichier. Le site pub
est ce qui va sur les serveurs, la clé privée ( id_rsa
) est ce qui reste avec vous et est la façon dont vous vous identifiez.ssh-copy-id user@server
en remplaçant user par votre utilisateur distant et server par le nom DNS ou l'adresse IP de la machine. Il vous sera demandé votre mot de passe SSH, entrez-le et si tout se passe bien, vous pourrez accéder à la machine via ssh user@server
sans avoir besoin d'un mot de passe.La façon dont je procède habituellement est la suivante :
ssh-keygen -t rsa
(Lorsqu'on vous demande un mot de passe, laissez-le vide)
Ensuite : cat ~/.ssh/id_rsa.pub | ssh username@hostname 'cat >> .ssh/authorized_keys'
(Pour cela, le dossier .ssh doit se trouver dans le répertoire personnel du nom d'hôte ciblé, avec le fichier authorized_keys à l'intérieur).
Bien entendu, remplacez le nom d'utilisateur par le nom d'utilisateur souhaité et le nom d'hôte par le nom d'hôte ou l'adresse IP souhaités.
Après cela, il suffit de SSH à cette boîte comme vous en avez l'habitude.
Désactiver l'authentification par mot de passe
Parce que beaucoup de gens avec des serveurs SSH utilisent des mots de passe faibles, de nombreux attaquants en ligne chercheront un serveur SSH, puis commenceront à deviner mots de passe au hasard. Un attaquant peut essayer des milliers de mots de passe en une heure. mots de passe en une heure, et deviner même le mot de passe le plus fort avec suffisamment de temps. La solution recommandée par solution recommandée est d'utiliser des clés SSH au lieu de mots de passe. Pour être aussi aussi difficile à deviner qu'une clé SSH normale, un mot de passe devrait contenir 634 lettres et chiffres aléatoires. Si vous devez toujours être en mesure de vous connecter à votre ordinateur à l'aide d'une clé SSH, vous devez désactiver complètement l'authentification par mot de passe.
Si vous désactivez l'authentification par mot de passe, il sera seulement possible de se connecter à partir d'ordinateurs que vous avez spécifiquement approuvés. Cela améliore massivement sécurité, mais il vous est impossible de vous connecter à votre propre ordinateur depuis un ami. votre propre ordinateur à partir de l'ordinateur d'un ami sans l'avoir approuvé au préalable, ou à partir de votre propre ordinateur portable si vous supprimez accidentellement votre clé.
Il est recommandé de désactiver l'authentification par mot de passe, à moins que vous n'ayez un fichier raison spécifique de ne pas le faire.
Pour désactiver l'authentification par mot de passe, recherchez la ligne suivante dans le fichier votre fichier sshd_config :
#PasswordAuthentication yes
remplacez-la par une ligne qui ressemble à ceci :
PasswordAuthentication no
Une fois que vous avez sauvegardé le fichier et redémarré votre serveur SSH. ne devrait même pas vous demander un mot de passe lorsque vous vous connectez.
https://help.ubuntu.com/community/SSH/OpenSSH/Configuring#disable-password-authentication
SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.