Придушення ssh банера від клієнта OpenSSH


34

Я заходжу на сервер, на якому встановлений ssh ​​банер. Я хотів би придушити це (особливо для неінтерактивного використання). У мене немає доступу до сервера sshd_config.

Найкраще рішення, яке я знайшов поки що - це встановити LogLevel ERRORваріант на клієнта. Проблема полягає в тому, що це придушить будь-які INFOповідомлення іншого рівня, які я не обов'язково ховати приховувати (шукайте logitприклади джерела OpenSSH ). Я також міг би скористатися, ssh -qале це придушить ще більше.

Чи є якісь більш конкретні рішення?

Відповіді:


43

AFAIK, " ssh -q" або " LogLevel QUIET" в ~/.ssh/config- це "традиційні" способи замовкнути банер. Тож у вас вже є "кращий" компроміс з " LogLevel ERROR".

Більш конкретним рішенням буде використання користувальницької виправленої версії ssh-клієнта, якщо це варіант.


2
Я думаю, що LogLevel ERRORлише придушує банер у нових версіях OpenSSH. У старих версіях LogLevel QUIETабо ssh -qвони потрібні.
Майкл Хоффман

3
Якщо -qце не працює (це не було для мене на Debian 7), тоді ви можете скористатися рішенням іншого питання: serverfault.com/a/764403/62024
Nux

1

Ви також можете використовувати:

Banner none

на

/etc/ssh/sshd_config

1
В ОП вказано "Я не маю доступу до сервера sshd_config", тому, на жаль, це не дає відповіді на питання.
Пан Шунц

@MrShunz Ви маєте рацію, але я зайшов на цю сторінку, шукаючи Suppressing ssh banner from OpenSSH clientцю відповідь, хоча вона не відповідає повністю на питання ОП, але це може допомогти майбутнім користувачам.
Педро Лобіто

0

Встановити hexedit:

apt-get update && apt-get install hexedit

Створіть резервну копію файлу sshd та створіть редаговану робочу копію (як root):

  cp -p /usr/sbin/sshd /tmp/sshd.backup
  cp -p /tmp/sshd.backup /tmp/sshd.new

Оновіть двійковий файл за допомогою hexedit:

hexedit /tmp/sshd.new

Натисніть TAB, щоб перейти з HEX на область ASCII.

Використовуйте CTRL + S, щоб відкрити запит на пошук та шукати текст у своєму банері, ніж ви хочете приховати, наприклад, "OpenSSH_7.4".

Ви повинні побачити щось на кшталт:

0007DA54   61 67 65 6E  74 00 00 00  4F 70 65 6E  agent...Open
0007DA60   53 53 48 5F  37 2E 34 70  31 20 52 61  SSH_7.4p1 Ra
0007DA6C   73 70 62 69  61 6E 2D 31  30 2B 64 65  spbian-10+de
0007DA78   62 39 75 32  00 00 00 00  4F 70 65 6E  b9u2....Open

За допомогою клавіш зі стрілками виділіть початок рядка, який ви хочете оновити, і введіть заміну.

Будьте обережні, щоб залишатися в межах довжини оригінального банера. Ви також можете натиснути TAB, щоб повернутися до області HEX, якщо ви хочете просто обнулити параметр рядка для кожного слова на "00".

Ваша зміна має виглядати приблизно так:

0007DA54   61 67 65 6E  74 00 00 00  48 65 72 65  agent...Here
0007DA60   20 62 65 20  64 72 61 67  6F 6E 73 2E   be dragons.
0007DA6C   20 54 75 72  6E 20 42 61  63 6B 00 00   Turn Back..
0007DA78   00 00 00 00  00 00 00 00  4F 70 65 6E  ........Open

Збережіть свої зміни за допомогою CTRL + x та Y.

Перевірте, чи є випадки, які ми пропустили (ми не очікуємо, що зараз немає результату):

strings /tmp/sshd.new | grep Rasp

Оновіть sshd та перезапустіть послугу для належної міри:

rm /usr/sbin/sshd
cp -p /tmp/sshd.new /usr/sbin/sshd
systemctl restart ssh.service

Переконайтеся, що ви все ще можете ввімкнути SSH (інакше відновіть резервну копію чи перевстановіть OpenSSH у менеджера пакунків!):

ssh -vv user@ip

ПРИМІТКА!!

Ця зміна буде тимчасовою, оскільки щоразу, коли ви оновлюєте OpenSSH, двійковий файл буде замінено.


2
Хоча це правда, що питання насправді не вказувало, що вони не мають доступу до запису sshd, це здається досить імовірним, оскільки він не вказав sshd_configдоступу. Вони шукають клієнтське рішення.
Майк Скотт
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.