La copie et le déplacement de fichiers et de répertoires sont une tâche courante parmi les administrateurs système. L'utilitaire de ligne de commande Linux scp (Secure Copy) peut copier ou transférer des fichiers en toute sécurité d'un serveur à un autre. À l'aide de la commande scp, vous pouvez copier des fichiers ou des répertoires du système local vers le système distant, du système distant vers le système local ou entre le système local et deux systèmes distants. Lorsque vous utilisez la commande scp, vous devez fournir le mot de passe de l'utilisateur distant pour le transfert de fichiers. Cet article explique comment transmettre le mot de passe à la commande scp sous Linux.
La syntaxe de base pour copier des fichiers du système local vers le système distant est la suivante :
scp filename user@remotehost:/directory/path
Par exemple, pour copier un fichier nommé file1.txt du système local vers le système distant avec l'adresse IP 192.168.1.100 dans le répertoire /mnt, veuillez **** exécuter la commande suivante :
scp file1.txt root@192.168.1.100:/mnt/
La syntaxe de base pour copier des fichiers du système distant vers le système local est la suivante :
scp user@remotehost:/file/path local/path
Par exemple, pour copier un fichier nommé file1.txt du système distant avec l'adresse IP 192.168.1.100 vers le système local dans le répertoire /opt, exécutez la commande suivante :
scp root@192.168.1.100:/mnt/file1.txt /opt/
Vous serez invité à fournir le mot de passe de l'utilisateur distant comme indiqué ci-dessous :
root@192.168.1.100 password:
sshpass est un outil de ligne de commande simple et léger qui vous permet de fournir un mot de passe pour l'invite de commande elle-même. C'est très utile dans les scripts shell lorsque vous souhaitez effectuer une sauvegarde via une tâche cron. Par défaut, sshpass n'est inclus dans aucun système d'exploitation Linux, vous devez donc installer l'utilitaire sshpass sur votre système Linux pour transmettre les mots de passe à l'aide des commandes SCP. Pour les systèmes d'exploitation basés sur Ubuntu et Debian, installez sshpass à l'aide de la commande suivante :
linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt install sshpass -y
Pour les systèmes d'exploitation RHEL, Fedora, CentOS et Rocky Linux, utilisez la commande suivante pour installer sshpass :
dnf install sshpass -y
Après avoir installé l'utilitaire sshpass, vous pouvez passer à l'étape suivante.
La syntaxe de base pour transmettre des mots de passe à l'aide de la commande SCP est la suivante :
sshpass -p "remote-user-password" scp filename user@remotehost:/dir/path/
Par exemple, si vous souhaitez copier le fichier nommé file1.txt sur le serveur distant avec l'IP 192.168.1.100, veuillez utiliser la commande suivante :
sshpass -p "password" scp file1.txt root@192.168.1.100:/mnt/
Comme vous pouvez le voir, la commande sshpass + SCP vous aidera à copier des fichiers et des répertoires d'un système à un autre à l'aide d'une seule commande de ligne.
Dans cet article, nous expliquons comment transmettre un mot de passe à l'aide de la commande SCP avec sshpass sous Linux. sshpass vous aidera à accélérer le processus de copie de fichiers. Vous pouvez également l'utiliser pour sauvegarder automatiquement d'un serveur à un autre.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!