【问题标题】:How to use make scp prompt for password when executed with Plink使用 Plink 执行时如何使用 make scp 提示输入密码
【发布时间】:2015-09-23 12:27:33
【问题描述】:

我想编写一个批处理脚本,该脚本将在远程服务器中运行scp 命令,使用 Windows 中的 Plink。

代码是:

plink.exe -ssh 10.168.5.15 -l username -pw passwd scp abc.txt xuser@10.168.10.108:/home

我期望的是远程机器的密码提示,我在批处理窗口中处理文件。当我运行上面的代码时,我的批处理窗口显示,“Permission Denied, please try again” 三次和 “丢失连接” 消息。我也试过 scpPasswordAuthentication=yesBatchMode=yes 但没有用。

而且我确信 Plink 是交互式的。

有什么建议吗?

【问题讨论】:

  • "我期待是询问密码的提示" 也许放弃选项 -pw passwd ?在 Linux 中,ssh 通过添加选项-v-vv 为您提供高度详细的模式。检查 plink 是否提供类似的功能,并查看日志消息的内容。检查您提供的用户名和密码是否正确。检查该用户是否确实有一个帐户和/或该用户是否未被阻止。

标签: batch-file ssh scp plink


【解决方案1】:

默认情况下,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)。

【讨论】:

  • 非常感谢。它解决了问题!
猜你喜欢
  • 2018-09-26
  • 2023-03-28
  • 2019-02-15
  • 2019-02-24
  • 2018-10-17
  • 2023-03-19
  • 2010-11-30
  • 2011-11-23
  • 2011-05-07
相关资源
最近更新 更多