Як я можу вимкнути MOTD при використанні Git через SSH у Windows?


2

Я використовую Git у Windows, з сховищем над SSH. Всякий раз, коли я виконую будь-які дії, я отримую MOTD з сервера (що є юридичним попередженням від компанії, на яку я працюю).

Схоже, якщо я був на Linux, я міг би вимкнути це з файлом .hushlogin, але спробував розмістити його як в папці Home (Фактично: у моєму випадку), так і в c: user myID і в обох випадках він не працював.

Який правильний метод для цього?

(Використовує ssh.exe з папки інсталяції Git, якщо це робить різницю)


The motd друкується лише для інтерактивних сеансів. Ви впевнені motd виходить ssh а не з якогось сценарію входу?
Stephen Rauch

Я запускаю його від Дженкінса, починаючи з сценарію Powershell, який потім викликає Git .. Він з'являється, коли Irun Git Clone, Fetch або Push, а не коли я називаю щось інше. Немає жодного сценарію входу.
Andrew Ducker

1
На сервері git - обліковий запис, який ви використовуєте міг у вас є скрипт під час входу в систему. Ви перевірили щось подібне ssh my_git_acct@my_git_server ls робить ні дати вам motd?
Stephen Rauch

"ssh subdomain.domain.com" дає мені motd. Перш ніж просити пароль.
Andrew Ducker

1
ssh має два режими. Інтерактивні та неінтерактивні. Неінтерактивні не повинні надавати motd. Імовірно, git використовує неінтерактивні. Якщо ви збираєтеся протестувати неінтерактивно, потрібно запустити команду (наприклад: ls ), як було запропоновано раніше. Якщо ви ssh без команди, як ви тільки що запропонували, ви повинні отримати motd.
Stephen Rauch

Відповіді:


2

Відповідь полягає в тому, щоб помістити файл з назвою "config" у папку user.sh (те саме, що і файли id_rsa) і помістити в нього наступне:

LogLevel QUIET

0

За різними коментарями вище ви не слід отримайте 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"

Це питання було конкретно про використання Git над SSH - ні в якому разі я не називаю ssh безпосередньо.
Andrew Ducker
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.