如何通过ssh执行命令,远程是windows

如何通过ssh执行命令,远程是windows

我的远程机器是windows,我正在ssh从ubuntu到windows。

我想使用 git bash 而不是命令提示符,但运行ssh会将我带到默认命令提示符,有什么方法可以通过调用 git bashssh吗?

我尝试以下命令不起作用:

ssh [email protected] < "C:\Program Files\Git\bin\sh.exe"

我可以在 ssh 之后运行以下命令来启动 git bash,但我正在寻找一种方法来自动化此过程?

"C:\Program Files\Git\bin\sh.exe" --login

我使用的是Windows 2012 R2

答案1

是的,如果你有的话,你可以适用于 Windows Server 2019 和 Windows 10 的 OpenSSH安装。

Windows 10 1809 和 Server 2019 的 OpenSSH 服务器配置

配置默认 ssh shell 是在 Windows 注册表中通过将 shell 可执行文件的完整路径添加到Computer\HKEY_LOCAL_MACHINE\SOFTWARE\OpenSSH字符串值中来完成的DefaultShell

例如,以下 Powershell 命令将默认 shell 设置为 PowerShell.exe:

New-ItemProperty -Path "HKLM:\SOFTWARE\OpenSSH" -Name DefaultShell -Value "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -PropertyType String -Force

要将 Git Bash 设置为默认 shell,请在 PowerShell 中以管理员身份运行此代码段:

New-ItemProperty -Path "HKLM:\SOFTWARE\OpenSSH" -Name DefaultShell -Value "C:\Program Files\Git\bin\sh.exe" -PropertyType String -Force

要获得登录 shell,您可以创建一个包含以下内容的批处理sh.bat文件C:\Program Files\Git\bin

@echo off
"C:\Program Files\Git\bin\sh.exe" --login

并将该DefaultShell值替换为C:\Program Files\Git\bin\sh.bat.

DefaultShell注册表项是一个新项,您可以删除它以恢复默认的命令提示符。

相关内容