从Linux到Windows的scp:'C:\ Program'无法识别错误

时间:2018-05-31 18:41:39

标签: linux windows bash ssh scp

在我的linux机器上,我正试图通过以下方式将文件发送到Windows机器上:

scp fileNameA user@windowServer:fileNameA 

我收到以下消息:

'C:\Program' is not recognized as an internal or external command,

可操作程序或批处理文件。

是什么促使这条消息?

我在Windows机器上安装了OpenSSH,我可以成功SSH到它。我不想使用WinSCP,FileZilla等,因为我必须在脚本中自动执行此操作。这必须从Linux机器完成,所以我对从Windows机器上执行pscp不感兴趣。

3 个答案:

答案 0 :(得分:0)

我今天遇到了同样的问题。

我认为这是几天前发布的新版OpenSSH中的一个问题。我还原了以前的版本(v7.6.1.0p1-Beta),该版本在https://github.com/PowerShell/Win32-OpenSSH/releases的VM上正常运行,问题得到解决而没有任何配置更改。

答案 1 :(得分:0)

我只是通过将我的OpenSSH安装从C:\Program Files\OpenSSH移到C:\OpenSSH来解决了同样的问题。

我必须首先使用Win32-OpenSSH中提供的脚本正确地卸载它,然后按照https://github.com/PowerShell/Win32-OpenSSH/wiki/Install-Win32-OpenSSH那里提供的信息进行操作,但仅将路径更改为C:\ OpenSSH。

答案 2 :(得分:0)

我今天遇到了类似的问题,尝试将文件复制到运行 OpenSSH-Win64 的 Windows 服务器。我通过在 Windows 路径中添加 C:\Program Files\OpenSSH(推荐的安装位置)解决了这个问题:

  1. 打开控制面板,进入系统和安全部分并打开系统
  2. 单击高级系统设置,然后在“系统属性”对话框中单击环境变量
  3. 在对话框的系统变量部分,选择路径并点击编辑...
  4. 单击新建,添加 OpenSSH 文件夹路径,然后单击确定以应用更改。

然后,不要忘记在服务管理控制台中或通过在提升的控制台中运行 net stop sshdnet start sshd 重新启动 OpenSSH 服务。