web-dev-qa-db-fra.com

Commande pour saisir automatiquement le mot de passe pour pscp

Je souhaite copier un fichier sur un système Linux distant à partir de mon PC Windows à l'aide de pscp (de PuTTY). J'ai écrit un petit script qui appelle les commandes pscp de la manière suivante:

"C:\Users\hp\Desktop\pscp.exe" -scp C:\Users\hp\Desktop\scripts\* [email protected]:/root/scripts
"C:\Users\hp\Desktop\pscp.exe" -scp C:\Users\hp\Desktop\scripts2\* [email protected]:/root/scripts2 

pause

Mais lorsque je lance ce script, je suis invité à saisir le mot de passe, aussi je le sais manuellement.

Existe-t-il un moyen de saisir automatiquement le mot de passe via le fichier de commandes?

12
MOHAMED

De PuTTY documentation

5.2.2.6 -pw passw connexion avec le mot de passe spécifié

Si un mot de passe est requis pour se connecter à l'hôte, PSCP utilisera interactivement vous y invitons. Toutefois, cela peut ne pas toujours être approprié. Si vous exécutez PSCP dans le cadre d’une tâche automatisée, cela Il ne sera pas possible d'entrer un mot de passe à la main. L'option -pw à PSCP vous permet de spécifier le mot de passe à utiliser sur la ligne de commande.

22
MC ND
pscp -pw yourPasswordHere C:\Users\testUser\Downloads\test.sh [email protected]:/home/testUser

J'ai remarqué que personne n'avait posté d'échantillon de cette commande avec l'option -pw.

19
blueberry0xff

Vous pouvez résoudre ce problème par vous-même. Utilisez l'option /? pour voir l'aide. Les parties pertinentes sont incluses ci-dessous.

> pscp /?
PuTTY client Secure Copy 
 Version 0.60 
 Utilisation: pscp [options] [utilisateur @] Hôte: source 
 pscp [options] source [source ...] [utilisateur @] Hôte: cible 
 pscp [options] -ls [utilisateur @] Hôte: spéc. fichiers 
 Options: 
......
 -l utilisateur se connecter avec le nom d'utilisateur spécifié 
 -pw passw login avec le mot de passe spécifié 
......

Utilisez les options -l et -pw pour spécifier un utilisateur et un mot de passe.

Ainsi, bien que cela réponde à la question spécifique que vous avez posée, la véritable opportunité pour vous consiste à apprendre à obtenir de la documentation à partir d’utilitaires de ligne de commande.

3
David Heffernan
sshpass -p'password' pscp -A -H "ip" -t 20 -l root /var/www/html/temp_santosh.txt /tmp/

Vous pouvez utiliser sshpass avec l'option -p juste avant pscp

0
Santosh Raut

Utilisez PuTTY pour configurer une connexion à distance sans mot de passe. Cela impliquera la commande puttygen. Vous aurez besoin d'une clé privée et la cible aura besoin d'une clé publique. Une fois que vous avez vérifié que vous avez un bon fichier de clé privée et que vous vous êtes connecté sans taper de mot de passe, vous pouvez le référencer avec l'option de clé privée "-i" sur pscp. Vous pourrez peut-être configurer la clé sans la connexion PuTTY si elle n'est pas autorisée, mais c'est le moyen le plus simple. Dites simplement non aux mots de passe en clair:

C:\Users\riglerjo>pscp -i .ssh\rigler_rsa.ppk test.txt [email protected]:.
test.txt                  | 0 kB |   0.0 kB/s | ETA: 00:00:00 | 100%
0
John Rigler