用于自动输入pscp密码的命令

时间:2014-04-15 09:46:04

标签: batch-file pscp

我想使用pscp(来自putty)从我的Windows PC将一些文件复制到远程Linux系统。我写了一个小脚本,用这种方式调用pscp命令:

"C:\Users\hp\Desktop\pscp.exe" -scp C:\Users\hp\Desktop\scripts\* root@192.168.1.177:/root/scripts
"C:\Users\hp\Desktop\pscp.exe" -scp C:\Users\hp\Desktop\scripts2\* root@192.168.1.177:/root/scripts2 

pause

但是当我启动这个bat脚本时,我被要求输入密码,所以我手动输入密码。

有没有办法通过批处理文件自动输入密码?

6 个答案:

答案 0 :(得分:25)

来自putty documentation

  

5.2.2.6 -pw passw 使用指定密码登录

     

如果需要密码才能连接主机,PSCP会   以交互方式提示您。但是,这可能并非总是如此   适当。如果您正在运行PSCP作为某些自动化作业的一部分,那么   无法手动输入密码。 -pw选项   PSCP允许您指定要在命令行上使用的密码。

答案 1 :(得分:22)

pscp -pw yourPasswordHere C:\Users\testUser\Downloads\test.sh testUser@123.123.123.123:/home/testUser

我注意到没有人用-pw选项发布该命令的样本。

答案 2 :(得分:3)

你可以自己解决这个问题。使用/?选项查看帮助。相关部分包括在下面。

>pscp /?
PuTTY Secure Copy client
Release 0.60
Usage: pscp [options] [user@]host:source target
       pscp [options] source [source...] [user@]host:target
       pscp [options] -ls [user@]host:filespec
Options:
......
  -l user   connect with specified username
  -pw passw login with specified password
......

使用-l-pw选项指定用户和密码。

因此,虽然这回答了您提出的具体问题,但您真正有机会学习如何从命令行实用程序获取文档。

答案 3 :(得分:0)

使用putty设置没有密码的远程登录。这将涉及puttygen命令。您将需要一个私钥,目标将需要一个公钥。一旦您确认您拥有一个好的私钥文件并在不输入密码的情况下登录,您可以使用" -i" pscp上的私钥选项。如果不允许,您可以在没有putty连接的情况下设置密钥,但这是最简单的方法。简单地对密码说“不”:

C:\Users\riglerjo>pscp -i .ssh\rigler_rsa.ppk test.txt rigler@rigler.org:.
test.txt                  | 0 kB |   0.0 kB/s | ETA: 00:00:00 | 100%

答案 4 :(得分:0)

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

您可以在sshpass

之前使用-p pscp选项

答案 5 :(得分:0)

如果您将本地文件处理到远程目录,请使用:

pscp -pw yourPasswordHere C:\Users\testUser\Downloads\test.sh testUser@10.10.10.10:/home/testUser

如果您将远程文件处理到本地目录,请使用:

pscp -pr yourPasswordHere testUser@10.10.10.10:/home/testUser/test.sh C:\Users\testUser\Downloads\