scp 导致“‘C:\ Program’ 未被识别为内部……”

scp 导致“‘C:\ Program’ 未被识别为内部……”

我正在尝试scp使用以下命令将文件从本地计算机传输到远程计算机:

scp "local/file/path/file.txt" [email protected]:"remote/file/path"

输入远程用户密码后,出现以下错误信息:

'C:\Program' is not recognized as an internal or external command, operable program or batch file. lost connection

没有任何明显的原因会导致此错误。没有文件路径包含“C:\Program”。这个类似的问题没有帮助。我能够成功通过 ssh 进入远程机器。

我想避免使用 Filezilla、WinSCP 或类似的程序;此命令需要进入脚本。

什么原因可能导致这个错误?

编辑:

命令是

scp "home/c/users/administrator/desktop/test.txt" administrator@defaultserver:"home/c/users/administrator/desktop"

编辑2:

似乎在考虑任何文件路径之前就抛出了错误。运行调试器会在错误发生之前产生以下消息:

debug1: Sending command: scp -v -t /tmp

我下载了 OpenSSH 作为我的 SSH 服务器。我将其解压到 ~/Program Files/,这似乎是该目录唯一相关的实例。也许更改 SSH 服务器的安装位置会更改此错误。

答案1

尝试这个 :

scp /Users/PrashastKumar/Desktop/sample2.pdf [email protected]:/tmp

不提供引号。这对我来说很有效。

答案2

我今天遇到了类似的问题,试图将文件复制到运行OpenSSH-Win64C:\Program Files\OpenSSH。我通过将推荐的安装位置添加到 Windows 路径来解决问题:

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

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

相关内容