![Windows で SSH 経由で Git を使用するときに MOTD を無効にするにはどうすればいいですか?](https://rvso.com/image/1520077/Windows%20%E3%81%A7%20SSH%20%E7%B5%8C%E7%94%B1%E3%81%A7%20Git%20%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%99%E3%82%8B%E3%81%A8%E3%81%8D%E3%81%AB%20MOTD%20%E3%82%92%E7%84%A1%E5%8A%B9%E3%81%AB%E3%81%99%E3%82%8B%E3%81%AB%E3%81%AF%E3%81%A9%E3%81%86%E3%81%99%E3%82%8C%E3%81%B0%E3%81%84%E3%81%84%E3%81%A7%E3%81%99%E3%81%8B%3F.png)
私は Windows で Git を使用しており、リポジトリは SSH 経由です。何らかのアクションを実行するたびに、サーバーから MOTD が送信されます (これは勤務先の会社からの法的警告です)。
Linux を使用している場合は、.hushlogin ファイルを使用してこれを無効にできるようですが、ホーム フォルダー (私の場合は実際には f:\) と c:\users\$myID の両方に配置してみましたが、どちらの場合も機能しませんでした。
これを処理する正しい方法は何ですか?
(違いがある場合は、Git\bin インストール フォルダーの ssh.exe を使用します)
答え1
答えは、ユーザーの .\ssh\ フォルダー (id_rsa ファイルが置かれているフォルダーと同じ) に「config」というファイルを置き、その中に次の内容を入れることです。
LogLevel QUIET
答え2
上記のさまざまなコメントによると、いけないSSH コマンドラインにサーバー上で実行する (非対話型の) コマンドが含まれている場合は、MOTD を取得します。例ls
:
C:\> \Git\bin\ssh.exe user@host "ls -l *.cc"
ただし、上記のコマンドの場合するMOTD (および からの出力ls
) が表示される場合、何かが壊れているか、誤って構成されています (おそらくサーバー側)。ただし、回避策はまだある可能性があります。
-N
リモート/サーバー側にログインシェルがない-T
サーバー側でTTY / 端末の割り当てを強制しない
次のフラグのいずれかまたは両方を試してください。
C:\> \Git\bin\ssh.exe -N -T user@host "ls -l *.cc"