GNU/Linux >> Tutoriels Linux >  >> Linux

Comment transmettre un mot de passe à la commande SCP sous Linux

Au fur et à mesure que vous progressez dans votre expérience utilisateur du système d'exploitation Linux, vous vous retrouverez forcément dans un enchevêtrement de bureau à serveur Linux ou de serveur à serveur Linux. Dans la plupart des cas, ces scénarios sont liés à des objectifs prioritaires du système d'exploitation, tels que le transfert de fichiers utiles et de copies de répertoires.

[ Vous pourriez également aimer :Comment transmettre un mot de passe à la commande SSH sous Linux ]

Transférer des fichiers en toute sécurité à l'aide de la commande Scp

La simplicité de l'outil de ligne de commande scp permet aux utilisateurs de copier facilement et à distance des fichiers et des répertoires d'un environnement Linux à un autre. Il peut s'agir d'un environnement de bureau vers un environnement de serveur ou d'un environnement de serveur vers un autre environnement de serveur.

L'utilisation de la commande SCP prend en charge le cryptage du mot de passe pour le protéger contre les fuites ou l'espionnage lors du transfert de fichiers et de répertoires. L'approche traditionnelle ou connue d'implémentation de la commande SCP respecte la syntaxe suivante.

$ scp [Username@SourceHost:]Path_to_File_to_Copy  [Username@DestinationHost:]Path_to_Destination_of_Copied_File

Par exemple, je pourrais réussir à copier un fichier sur l'un de mes serveurs distants à partir de mon environnement de bureau Linux de la manière suivante :

$ scp linuxshelltips.txt [email protected]:/home/ubuntu/  

L'exécution initiale du SCP ci-dessus a démontré commande conduit à l'invite de saisie de mot de passe suivante :

[email protected]'s password:

Ce n'est qu'après que l'utilisateur Linux a entré un mot de passe correct associé à l'utilisateur que le fichier ciblé est copié vers sa destination spécifiée.

Et s'il y avait une commande d'une ligne où vous n'avez pas à attendre une invite de saisie de mot de passe avant que vos fichiers et répertoires puissent être copiés vers leur destination ?

Installer SSHPass sous Linux – Ajouter un mot de passe SSH à la commande

Pour réfléchir à la question ci-dessus, nous devons implémenter à la fois SSHPASS et SCP outils en une seule commande. Tout d'abord, laissez-nous comprendre ce que ce SSHPASS offres d'outils.

La logique du SCP La commande consiste à copier des fichiers et des répertoires d'une machine hôte vers une machine de destination. Le SCP commande; à lui seul, n'est pas suffisant pour permettre l'authentification par mot de passe dans le cadre d'une utilisation de commande sur une ligne et conduit donc à une invite de mot de passe successive pour que l'utilisateur du système d'exploitation entre le mot de passe de connexion requis.

Quand SSHPASS est mis en œuvre avec SCP , il annule le besoin d'une invite de mot de passe avant que les fichiers et répertoires d'un utilisateur puissent être copiés.

$ sudo apt-get install sshpass     [On Debian, Ubuntu and Mint]
$ sudo yum install sshpass         [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux]
$ sudo emerge -a sys-apps/sshpass  [On Gentoo Linux]
$ sudo pacman -S sshpass           [On Arch Linux]
$ sudo zypper install sshpass      [On OpenSUSE]    

Comment ajouter un mot de passe à la commande SCP sous Linux

SSHPASS le cas d'utilisation de l'authentification par mot de passe non interactif peut être mis en œuvre avec SCP comme le montre la syntaxe de commande suivante.

$ sshpass -p "REMOTE_USER_PASSWORD" scp UserName@Remote_Host:/DESTINATION_PATH_TO_COPIED_FILES  

Par exemple, je pourrais essayer de copier un fichier sur un serveur distant de la manière suivante :

$ sshpass -p "REMOTE_USER_PASSWORD" scp linuxshelltips_v2.txt [email protected]:/home/ubuntu/

Dans le cas ci-dessus, si nous voulions copier des fichiers de répertoire, nous utiliserions le -r option pour copier récursivement tous les fichiers, dossiers et sous-dossiers dans le répertoire ciblé.

Considérez la commande suivante.

$ sshpass -p "REMOTE_USER_PASSWORD" scp -r Some_Directory/ [email protected]:/home/ubuntu/
​

Comme démontré, SSHPASSPCS aideront les utilisateurs Linux à utiliser une seule ligne de commande pour copier les fichiers et répertoires système/utilisateur d'une machine hôte vers une autre machine de destination.

L'emplacement de stockage ciblé des fichiers et répertoires copiés peut être un environnement de serveur Linux ou un environnement de bureau Linux. SSHPASSPCS Les outils rendent la copie de fichiers rapide, efficace et gérable car vous n'avez pas besoin d'attendre une invite de mot de passe pour que vos actions initiées par l'utilisateur puissent s'exécuter.

Vous devez cependant être prudent avec l'utilisation de SSHPASS sur un réseau encombré avec trop d'utilisateurs, car un utilisateur malveillant pourrait facilement détourner votre mot de passe utilisateur.


Linux
  1. Comment gérer le mot de passe du compte sous Linux

  2. Comment changer le mot de passe sous Linux (commande passwd)

  3. Comment utiliser la commande Su sous Linux

  4. Commande SCP sous Linux :comment l'utiliser, avec des exemples

  5. Comment créer un script d'une commande Linux

10 exemples de commandes passwd sous Linux

Comment changer le mot de passe utilisateur sous Linux

Comment utiliser du Command sous Linux

Comment gérer les mots de passe Linux avec la commande pass

Comment transmettre un mot de passe à la commande SSH sous Linux

Comment utiliser la commande SCP sous Linux