Я вхожу на сервер, на котором установлен баннер ssh. Я хотел бы подавить это (особенно для неинтерактивного использования). У меня нет доступа к серверу sshd_config
.
Лучшее решение, которое я нашел до сих пор, - установить LogLevel ERROR
вариант на клиенте. Проблема в том, что это подавит любые другие INFO
сообщения уровня, которые я не хочу скрывать (поищите в источнике OpenSSH logit
Например). Я мог бы также использовать ssh -q
но это подавит еще больше.
Есть ли другие более конкретные решения?
НАСКОЛЬКО МНЕ ИЗВЕСТНО, "ssh -q
" или "LogLevel QUIET
" в ~/.ssh/config
являются «традиционными» способами заглушить баннер. Итак, у вас уже есть "лучший" компромисс с "LogLevel ERROR
".
Более конкретным решением будет использование специальной исправленной версии клиента ssh, если это вариант.
Вы также можете использовать:
Banner none
на
/etc/ssh/sshd_config
apt-get update && apt-get install hexedit
cp -p /usr/sbin/sshd /tmp/sshd.backup
cp -p /tmp/sshd.backup /tmp/sshd.new
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
rm /usr/sbin/sshd
cp -p /tmp/sshd.new /usr/sbin/sshd
systemctl restart ssh.service
ssh -vv user@ip
НОТА!!
Это изменение будет временным, так как каждый раз, когда вы обновляете OpenSSH, двоичный файл будет заменен.