我想使用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脚本时,我被要求输入密码,所以我手动输入密码。
有没有办法通过批处理文件自动输入密码?
答案 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\