我的远程机器是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
注册表项是一个新项,您可以删除它以恢复默认的命令提示符。