Bash

如何通過 ssh 執行命令,遠端是 windows

  • December 18, 2019

我的遠端機器是 Windows,我正在ssh從 ubuntu 到 Windows。

我想使用 git bash 而不是命令提示符,但是執行ssh它將帶我進入預設命令提示符,有什麼方法可以通過 git bash 呼叫ssh嗎?

我嘗試以下命令不起作用:

ssh Administrator@54.xxx.xxx.207 < "C:\Program Files\Git\bin\sh.exe"

我可以在 ssh 之後執行以下命令來啟動 git bash,但我正在尋找一種方法來自動化這個過程?

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

我正在使用 Windows 2012 R2

是的,如果您安裝了適用於 Windows Server 2019 和 Windows 10 的 OpenSSH ,則可以。

來自Windows 10 1809 和 Server 2019 的 OpenSSH 伺服器配置

配置預設 ssh shell 是在 Windows 系統資料庫中完成的,方法是將 shell 執行檔的完整路徑添加到Computer\HKEY_LOCAL_MACHINE\SOFTWARE\OpenSSH字元串 valueDefaultShell中。

例如,以下 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刪除以恢復預設命令提示符。

引用自:https://unix.stackexchange.com/questions/557751