web-dev-qa-db-ja.com

sshを介してコマンドを実行する方法、リモートはWindows

私のリモートマシンはWindowsで、ubuntuからWindowsにsshしています。

コマンドプロンプトの代わりにgit bashを使用したいのですが、sshを実行するとデフォルトのコマンドプロンプトが表示されます。sshからgit bashを呼び出す方法はありますか?

次のコマンドが機能しないのを試します。

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

Sshの後に次のコマンドを実行してgit bashを開始できますが、このプロセスを自動化する方法を探していますか?

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

Windows 2012 R2を使用しています

2
Tiger

はい、できます OpenSSH For Windows Server 2019 and Windows 1 がインストールされている場合。

From OpenSSH Server Configuration for Windows 10 1809 and Server 2019

デフォルトのsshシェルの構成は、Windowsレジストリで、文字列値DefaultShell内のComputer\HKEY_LOCAL_MACHINE\SOFTWARE\OpenSSHへのシェル実行可能ファイルへの完全パスを追加することによって行われます。

例として、次のPowershellコマンドは、デフォルトのシェルをPowerShell.exeに設定します。

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

Git Bashをデフォルトのシェルとして設定するには、PowerShellで管理者として次のスニペットを実行します。

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

ログインシェルを取得するには、次の内容のバッチファイルsh.batC:\Program Files\Git\binに作成します。

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

DefaultShell値をC:\Program Files\Git\bin\sh.batに置き換えます。

DefaultShellレジストリキーは新しいキーです。これを削除して、デフォルトのコマンドプロンプトに戻すことができます。

4
Freddy