我们在远程 Windows 服务器上安装并运行了 OpenSsh。当我通过远程桌面连接到它并scp
在命令提示符下运行时,它会提供 scp 命令的所有可用选项。
但是当我尝试从我的 Linux 机器 scp 到它时,scp myuser@windows-machine:test.txt .
它给了我下面的错误
'scp.exe' is not recognized as an internal or external command,
operable program or batch file.
我可以使用相同的用户凭证执行 ssh,执行 ssh 后如果我运行 scp,仍然会出现相同的错误。
如果我在远程 Windows 机器上缺少某些配置,有人可以帮忙吗?
谢谢,
答案1
你的问题似乎不一致。你说你运行
ReEditted 是因为 Kamil 的评论
homedir@linuxhost$ scp myuser@windows-machine:test.txt .
但您的错误消息实际上是由 Windows Shell 生成的。
这似乎不对,除非......您在 Linux 系统上运行 PowerShell 作为 Shell
在安装了 OpenSSH 服务器的 Windows 系统上,有 2 个 scp.exe 实例:
homedir@linuxhost ssh myuser@windows-machine where scp
C:\Windows\System32\OpenSSH\scp.exe
C:\Program Files\OpenSSH-Win64\scp.exe
奇怪的是,sshd 实际使用的可执行文件是“Program Files”中的文件。也许(重新)安装 OpenSSH 客户端功能可以解决您的问题。