SSHを終了せずにSSHセッションでコマンドを停止する

SSHを終了せずにSSHセッションでコマンドを停止する

SSHセッションがあり、スクリプトを実行しています。 SSHセッションを終了せずにスクリプトを終了したいです。ローカルPCでスクリプトを実行してCtrl+キーを押すとスクリプトが停止し、リモートC セッションでCtrl+キーを押すとCsshセッション自体が閉じます(この場合もスクリプトも閉じます)。 SSH接続を中断せずにリモートシェルでスクリプトを停止する方法は?

Windowsでは、Git Bashを使用して標準のUbuntuディストリビューションの一般的なコマンドを使用して接続します。ssh user@ip

私のWindowsクライアントでは、.ssh/config次のようになります。

Host 192.168.XXX.YYY
  HostName 192.168.XXX.YYY
  User auser
  ForwardAgent yes

Host 192.168.XXX.ZZZ
  HostName 192.168.XXX.ZZZ
  User auser

私が使用しているリモートサーバーとは何の関係もありません。

答え1

Windows用Git 2.35.1.2をインストールした後も同じ動作が発生しました。

からバージョン2.34.1にダウングレードした後、これを回避できました。ここ

答え2

CtrlC今日もこの問題にぶつかりました。バンドルされているWindows用のGit処理にバグがあるようです/usr/bin/ssh。 Git bashでは、実行中のセッションを中断するためにリモートセッションに送信されるのではなく、を押すと辞書パッケージを使用するセッションがssh終了します。CtrlCただし、を実行すると/c/Windows/System32/OpenSSH/ssh期待CtrlCどおりに動作します。 Bashセッションに入力sshして、which ssh実行中の内容を確認できます。

Windows用Git v2.35.1.2を再インストールして問題を解決しました。 [新しいオプションのみを表示]チェックボックスをオフにすると、すべてを再設定できます。インストール時にオプションの1つが[外部OpenSSHを使用]になります。もちろん、これを行うには、WindowsシステムにすでにOpenSSHがインストールされている必要があります。 Windows 10/11システムでは、設定→アプリケーション→オプション機能→オプション機能の追加に進み、「OpenSSHクライアント」を選択してこれを実行できます。これ。

更新:私もこの問題を報告し、最新のスナップショットで修正されました。したがって、バンドルバージョンを維持したい場合は、次のsshバージョンで修正する必要があります。

答え3

gitbashこの問題には実際に問題があります。努力するWindows PowerShell。起きていいですね。

関連情報