Comment passer le mot de passe à la commande ssh / SCP dans Bash Script

Comment passer le mot de passe à la commande ssh / SCP dans Bash Script

SSHPass est un outil utile utilisé pour exécuter l'authentification SSH en mode non interactif. En utilisant SSHPASS, vous pouvez utiliser des mots de passe sur la commande SSH ou SCP sans interactions, ce qui aide à utiliser dans les scripts shell. Au lieu de l'utiliser, nous vous recommandons d'utiliser l'authentification basée sur les clés.

Installer sshpass

Le package SSHPASS est disponible dans les référentiels de packages par défaut pour la plupart des derniers systèmes d'exploitation. Vous pouvez utiliser les commandes suivantes pour l'installer sur votre système.

Sur Debian:

sudo apt installer sshpass 

Sur Centos:

yum --enablerepo = epel -y installer sshpass 

Utilisation de SSHPASS

SSHPASS utilise la variable d'environnement SSHPASS pour stocker les mots de passe utilisateur. Vous devez d'abord la variable SSHPass avec le mot de passe puis utilisez cette commande. Voici un simple script de shell en utilisant SSHPASS.

export sshpass = ry3avbwo0oupyx9hcmzp0axx sshpass -e SCP testfile.User CSV @ Exemple.com: / uploads /
123export sshpass = ry3avbwo0oupyx9hcmzp0axx sshpass -e SCP testfile.User CSV @ Exemple.com: / uploads /

Vous pouvez également exécuter la commande ssh comme suivant avec sshpass.

sshpass -e user ssh @ exemple.com
1sshpass -e user ssh @ exemple.com