使用Plink执行时如何使用make scp提示输入密码

时间:2015-09-23 12:27:34

标签: batch-file ssh scp plink

我想编写一个批处理脚本,它将在远程服务器中运行cat infile | paste -sd ' \n' 192.168.1.1 hostname1 14423289909 192.168.1.2 hostname2 14423289910 192.168.1.3 hostname3 14423289911 命令,使用我的Windows中的Plink。

代码是:

scp

我期待的是远程机器的密码提示,我在批处理窗口中处理文件。当我运行上面的代码时,我的批处理窗口显示“权限被拒绝,请再试一次”三次和“丢失连接”消息。我还尝试使用plink.exe -ssh 10.168.5.15 -l username -pw passwd scp abc.txt xuser@10.168.10.108:/home scp PasswordAuthentication=yes,但没有用。

我确信Plink是互动的。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

默认情况下,PLink在非交互式会话中运行命令(scp)。出于安全原因,scp甚至不会在非交互式会话中提示输入密码。

使用-t开关强制进行交互式会话。

plink.exe -t -ssh 10.168.5.15 ...

引用PuTTY / Plink手册的3.8.3.12部分:

  

3.8.3.12 -t-T:控制伪终端分配

     

-t选项确保PuTTY尝试在服务器上分配伪终端,-T阻止它分配一个伪终端。这些选项仅在您使用SSH时才有意义。

     

这些选项等同于PuTTY配置框的SSH面板中的“不分配伪终端”复选框(请参阅section 4.24.1)。