la connexion ssh automatique sans mot de passe peut nous faciliter la vie. Pour activer cela, nous avons 2 options: utiliser l’authentification basée sur des clés en copiant nos clés publiques SSH sur les machines distantes pour une connexion automatique sans mot de passe ou utiliser l’authentification basée sur un mot de passe. Je vais présenter les 2 options dans le post. Avant de commencer, veuillez noter que l’authentification par clé est généralement suggérée lorsque votre environnement de travail le permet.,
Table des Matières
Nous présenter deux méthodes dans ce post: à l’aide de la commande ssh-copy-id de commande et la manière manuelle.
générer une paire de clés SSH
Si vous n’avez pas encore de paire de clés SSH privée / publique, vous pouvez d’abord en générer une.
$ ssh-keygen -t rsa
Par défaut sur Linux, la clé est stockée dans le ~/.ssh
le nom id_rsa
et id_rsa.pub
pour la clé privée et publique.,
copiez la clé SSH publique sur la machine distante
Vous avez deux choix ici. À moins que vous ne puissiez pas utiliser la méthode ssh-copy-id
, vous pouvez essayer la méthode « manuelle ».
la façon La plus simple
Laissez-ssh-copy-id le faire automatiquement:
$ ssh-copy-id username@remotemachine
Si vous avez plusieurs clés dans votre balise ~/.ssh
répertoire, vous devrez peut-être utiliser des -i key_file
pour spécifier les clés que vous allez utiliser.,
La méthode manuelle
Copier la clé SSH publique à la machine à distance
$ scp .ssh/id_rsa.pub username@remotemachine:/tmp/
ouvrez une session sur l’ordinateur distant
$ ssh username@remotemachine
Ajouter votre clé SSH publique à ~/.ssh/authorized_keys
assurez-vous que le mode de ~/.ssh / authorized_keys est 755:
$ chmod 755 ~/.ssh/authorized_keys
problèmes possibles
quelques problèmes possibles qui vous empêchent de configurer avec succès une connexion sans mot de passe.,
autorisations de répertoire/fichier
répertoire D’accueil
Vérifiez l’Autorisation du répertoire d’accueil qui peut provoquer l’échec de la connexion basée sur la clé (supposons que le répertoire d’accueil soit/home/zma):
# chmod 700 /home/zma/
~/.ssh permission
assurez-vous que la .l’Autorisation du répertoire ssh est 755:
$ chmod 755 ~/.ssh/
~/.ssh / authroized_keys permission
assurez-vous que la .l’Autorisation du répertoire ssh est 755:
$ chmod 755 ~/.ssh/authorized_keys
$ chmod 700 ~/.ssh/id_rsa$ chmod 700 ~/.ssh/id_rsa.pub
connexion ssh « sans mot de passe » basée sur un mot de passe
Cette méthode la connexion et l’authentification sont toujours par mot de passe., Cependant, nous utilisons un outil pour nous aider à saisir le mot de passe automatiquement. L’outil est sshpass
qui fonctionne très bien.
l’utilisation est très simple comme suit en fournissant le mot de passe en ligne de commande:
$ sshpass -p "your_password_here" ssh username@remotemachine
ou en fournissant le mot de passe dans la première ligne d’un fichier
$ sshpass -f /path/to/file_storing_your_password ssh username@remotemachine
considérations de sécurité: avant d’utiliser le sshpass
, section « considérations de sécurité » de la page de manuel sshpass
pour connaître les problèmes de sécurité et ne l’utiliser que lorsque vous pouvez les tolérer.,