![如何通过openssh在windows10上运行命令?](https://linux22.com/image/1536040/%E5%A6%82%E4%BD%95%E9%80%9A%E8%BF%87openssh%E5%9C%A8windows10%E4%B8%8A%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%EF%BC%9F.png)
我已经OpenSSH
在 Windows10 上安装了。我需要从 MacOS 连接到此服务器。我能够ssh
从 MacOS 连接到此服务器。但我无法通过 ssh 运行 Windows 命令。以下是我收到的错误:
$ ssh [email protected] dir
/bin/sh: dir: command not found
如果我发送一个 Linux 命令,它可以正常工作:
$ ssh [email protected] ls
AppData
Application Data
Contacts
Cookies
Desktop
Documents
Downloads
Favorites
我也尝试了以下命令:
ssh [email protected] C:/Windows/System32/cmd.exe -c dir
它不运行命令,而是登录到远程 Windows 服务器。
我如何配置打开 ssh 以允许 windows 命令?
我安装的 OpenSSH 来自https://sourceforge.net/projects/sshwindows/
答案1
我在 Ubuntu 16.04 终端中使用此代码将文件复制到 Windows + 打开脚本。您可以定位文件,但不能定位命令行本身。文件将使用 bash 打开。
scp CalculatedOutput/Opera.csv ATV@DESKTOP-CGHF9HU:
ssh -p22 -t ATV@DESKTOP-CGHF9HU "cscript RunIf.vbs"
您可以使用 winexe 应用程序来定位 cmd 行,但要正确操作并不容易。请记住,从 ssh 或 winexe 启动的所有进程都将在后台运行。如果您想要一个交互式 cmd 行会话,winexe 似乎在 Ubuntu 16.04 和 Windows 上运行良好(winexe1.1),但对于自动启动进程,ubuntu 上的 winexe + Samba 版本似乎存在问题。
如果您想要 dir,您可以使用编译版本的 winexe1.1: https://drive.google.com/file/d/0B9gxflEDwxRydDV5NHFmWXF4M2M/view 只需将其放入您的代码文件夹中,您就可以使用此命令直接从本地终端进行目录操作:
./winexe -U ATV%password //192.xxx.xx.xxx 'cmd /C dir C:\'
或者这样启动交互式会话:
./winexe -U ATV%password //192.xxx.xx.xxx "cmd.exe"
至于 MAC,我想您必须坚持使用 openssh 选项?