Comment puis-je enregistrer le mot de passe lorsque j'utilise SCP (copie)?

11

Je suis confronté à un problème lorsque je tire un fichier d'une autre machine vers ma machine à l'aide de SCP. Le fichier est transféré avec succès mais à chaque fois qu'il demande un mot de passe. Je veux exécuter cette SCPcommande en tant que cronjob, Comment puis-je enregistrer le mot de passe pour cette automatisation?

scp [email protected]:/usr/etc/Output/*.txt /usr/abc/  
[email protected]'s password:
Nishat
la source

Réponses:

13

Tu peux faire:

  1. ( si ce n'est pas déjà fait ) générez un ensemble de clés ssh publiques et privées sur votre machine pour votre utilisateur avec:

    $ ssh-keygen

    Répondez aux questions afin de générer le jeu de clés.

  2. copiez votre clé publique sur l'hôte distant:

    $ ssh-copy-id remote-user@remote-host

    Cela permettra la connexion à partir de votre username@hostà remote-user@remote-hostsans être invité avec une authentification p / w.

fduff
la source
que voulez-vous dire à l'étape 2? vous voulez copier le fichier créé à la première étape sur la machine à partir de laquelle je veux copier un fichier
Mohsen El-Tahawy
@ MohsenEl-Tahawy, ssh-copy-idse chargera de copier les informations d'identification cryptées sur l'hôte distant, de cette façon, il ne demandera pas de p / w la prochaine fois que cet utilisateur y sshaccédera.
fduff
5

vous pouvez utiliser ceci: sshpass -p 'your_password' scp [email protected]:/usr/etc/Output/*.txt /usr/abc/ mais n'oubliez pas que vous stockez le mot de passe en clair.

Krzysztof Stasiak
la source
0

Suivez la réponse de fduff, mais lorsque vous exécutez keygen, appuyez sur entrée lorsqu'il demande un mot de passe. Cela créera une clé qui ne nécessite pas de saisie de mot de passe lors de son utilisation.

David Nedrow
la source
-3

On peut utiliser la commande suivante:

scp -r [email protected]:/usr/etc/Output/*.txt /usr/abc/

Et également configurer l'authentification basée sur la clé ssh pour ne demander aucun mot de passe pendant scp.

Muralibabud
la source
J'utilise scp -r [email protected]: / usr / etc / Output / *. Txt / usr / abc / mais il demande également le mot de passe @Muralibabud
Nishat
@Nishat use ssh-keygenand ssh-copy-id [email protected]as fduff posted above
Muralibabud