24

我想使用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 脚本时,我被要求输入密码,所以我手动输入了密码。

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

4

6 回答 6

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

我注意到没有人使用 -pw 选项发布该命令的示例。

于 2016-05-24T14:28:38.943 回答
34

来自腻子文档

5.2.2.6 -pw passw指定密码登录

如果连接主机需要密码,PSCP 将交互提示您输入密码。然而,这可能并不总是合适的。如果您将 PSCP 作为某个自动化作业的一部分运行,则无法手动输入密码。PSCP 的 -pw 选项允许您指定要在命令行上使用的密码。

于 2014-04-15T09:48:55.847 回答
6

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

>pscp /?
PuTTY 安全复制客户端
发布 0.60
用法:pscp [options] [user@]host:source 目标
       pscp [选项] 源 [源...] [用户@] 主机:目标
       pscp [选项] -ls [user@]host:filespec
选项:
……
  -l user 使用指定的用户名连接
  -pw passw 使用指定密码登录
……

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

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

于 2014-04-15T09:49:24.760 回答
1

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

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\
于 2020-07-02T14:20:39.660 回答
0

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

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%
于 2015-05-05T18:15:47.973 回答
-1
sshpass -p'password' pscp -A -H "ip" -t 20 -l root /var/www/html/temp_santosh.txt /tmp/

您可以在之前使用sshpasswith选项-ppscp

于 2015-12-02T17:35:06.827 回答