我目前正在做什么-
- 从
MachineA
(Windows环境)在MachineB
上执行shell脚本 - 然后等待shell脚本完成它的任务,在我的情况下,它会将输出写入一个文本文件
- 在shell脚本完成所有任务后,意味着它完成了将所有内容写入txt文件的操作,然后将该txt文件从
MachineB
复制到MachineA
(Windows环境)
因此,我写了一个Windows Batch file
来完成上面的任务,它对我来说很好。下面是我目前使用的WindowsBat文件。
plink uname@machineB -m email.sh
pscp uname@machineB:/export/home/uname/jk_attachment22.txt C:PLINKfoo.txt
但通过使用上面的windows批处理文件,我需要键入两次密码,这很痛苦,首先我需要键入第一行,然后再次键入第二行。
我的问题是-
那么,有没有什么方法可以运行上面的windows批处理文件,只需在命令提示符下键入password
一次。如有任何建议,我们将不胜感激。
这是我在寻找/.ssh folder
时所拥有的。
更新:
bash-3.00$ cd ~/.ssh
bash-3.00$ pwd
/home/uname/.ssh
bash-3.00$ ls -lt
total 2
-rw-r--r-- 1 uname gid-uname 489 Jul 26 18:55 known_hosts
所以我需要在这里做一些其他的改变?
我会跳过密码并使用ssh密钥进行身份验证。http://www.debian-administration.org/articles/152
在命令行实用程序中使用-pw选项。
假设您将批处理文件命名为TWINKIE.BAT。在命令提示符下,键入"TWINKIE password",其中"password"是您要使用的实际密码。
C:>twinkie password
"密码"作为第一个命令行变量%1传递到批处理文件中。您的批处理文件将是:
plink -pw %1 uname@machineB -m email.sh
pscp -pw %1 uname@machineB:/export/home/uname/jk_attachment22.txt C:PLINKfoo.txt