![Как отключить MOTD при использовании Git через SSH в Windows?](https://rvso.com/image/1520077/%D0%9A%D0%B0%D0%BA%20%D0%BE%D1%82%D0%BA%D0%BB%D1%8E%D1%87%D0%B8%D1%82%D1%8C%20MOTD%20%D0%BF%D1%80%D0%B8%20%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B8%20Git%20%D1%87%D0%B5%D1%80%D0%B5%D0%B7%20SSH%20%D0%B2%20Windows%3F.png)
Я использую Git на Windows, с репозиторием по SSH. Всякий раз, когда я выполняю какие-либо действия, я получаю MOTD с сервера (это юридическое предупреждение от компании, в которой я работаю).
Похоже, если бы я работал в Linux, я мог бы отключить это с помощью файла .hushlogin, но я пробовал размещать его и в домашней папке (в моем случае это f:\), и в c:\users\$myID, и ни в одном случае это не сработало.
Каков правильный метод решения этой проблемы?
(Он использует ssh.exe из папки установки Git\bin, если это имеет значение)
решение1
Ответ заключается в том, чтобы поместить файл с именем «config» в папку пользователя .\ssh\ (ту же, где находятся файлы id_rsa) и внести в него следующее:
LogLevel QUIET
решение2
Согласно различным комментариям выше, выне должнаполучите MOTD, если ваша командная строка ssh включает (неинтерактивную) команду для запуска на сервере, например 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"