Встановити 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, двійковий файл буде замінено.
LogLevel ERROR
лише придушує банер у нових версіях OpenSSH. У старих версіяхLogLevel QUIET
абоssh -q
вони потрібні.