pscp自动输入密码的命令

问题描述 投票:0回答:7

我想使用

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

"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

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

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

batch-file pscp
7个回答
53
投票
pscp -pw yourPasswordHere C:\Users\testUser\Downloads\test.sh [email protected]:/home/testUser

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


36
投票

来自腻子文档

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

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


6
投票

你可以自己解决这些问题。使用

/?
选项查看帮助。相关部分包括在下面。

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

使用

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

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


0
投票

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

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
投票

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

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

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

pscp -pr yourPasswordHere [email protected]:/home/testUser/test.sh C:\Users\testUser\Downloads\

0
投票
$ pscp -pw "speci4l^()Ch4rs" -r -sftp C:/Users/username/code/scp/* [email protected]:/var/www/example.com/public_html/scp

Windows 11,使用 MINGW64 (Git bash),密码使用双引号。

  • -pw 密码
  • -r递归
  • -sftp 强制加密传输

顺序可能很重要。


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

您可以在

sshpass
之前使用
-p
pscp

选项
© www.soinside.com 2019 - 2024. All rights reserved.