Loguję się na serwerze, który ma ustawiony baner ssh. Chciałbym go stłumić (szczególnie do użytku nieinteraktywnego). Nie mam dostępu do serwera sshd_config
.
Najlepszym rozwiązaniem, jakie znalazłem do tej pory, jest ustawienie tej LogLevel ERROR
opcji na kliencie. Problem polega na tym, że spowoduje to pominięcie wszelkich INFO
komunikatów poziomu, które niekoniecznie chcę ukryć (poszukaj przykładów w źródle OpenSSH logit
). Mógłbym również użyć, ssh -q
ale to jeszcze bardziej stłumi.
Czy są jakieś inne bardziej szczegółowe rozwiązania?
LogLevel ERROR
pomija banner tylko w nowszych wersjach OpenSSH. W starszych wersjachLogLevel QUIET
lubssh -q
są wymagane.-q
nie działa (nie działało to w przypadku Debiana 7), możesz użyć rozwiązania z innego pytania: serverfault.com/a/764403/62024Możesz także użyć:
na
źródło
sshd_config
”, więc niestety to nie odpowiada na pytanie.Suppressing ssh banner from OpenSSH client
i tej odpowiedzi, chociaż nie w pełni odpowiada na pytanie OP, może pomóc przyszłym użytkownikom.Zainstaluj hexedit:
apt-get update && apt-get install hexedit
Utwórz kopię zapasową pliku binarnego sshd i utwórz edytowalną kopię roboczą (jako root):
Zaktualizuj plik binarny za pomocą hexedit:
hexedit /tmp/sshd.new
Naciśnij TAB, aby przełączyć z HEX are do obszaru ASCII.
Użyj CTRL + S, aby wywołać monit wyszukiwania i wyszukać tekst w banerze, niż chcesz ukryć, np. „OpenSSH_7.4”.
Powinieneś zobaczyć coś takiego:
Za pomocą klawiszy strzałek zaznacz początek ciągu, który chcesz zaktualizować, i wpisz zamiennik.
Zachowaj ostrożność, aby nie przekraczać długości oryginalnego banera. Możesz także nacisnąć TAB, aby przełączyć się z powrotem do obszaru HEX, jeśli chcesz po prostu wyzerować ciąg znaków, ustawiając każde słowo na „00”.
Twoja zmiana powinna wyglądać mniej więcej tak:
Zapisz zmiany za pomocą CTRL + x i Y.
Sprawdź, czy są jakieś instancje, które przeoczyliśmy (nie oczekujemy teraz żadnych wyników):
Zaktualizuj sshd i ponownie uruchom usługę dla dobrego pomiaru:
Sprawdź, czy nadal możesz SSH (w przeciwnym razie przywróć kopię zapasową lub ponownie zainstaluj OpenSSH z poziomu menedżera pakietów!):
ssh -vv user@ip
UWAGA!!
Ta zmiana będzie tymczasowa, ponieważ przy każdej aktualizacji OpenSSH plik binarny zostanie zastąpiony.
źródło
sshd
, wydaje się dość prawdopodobne, ponieważ nie określiło żadnegosshd_config
dostępu. Szukają rozwiązania opartego na kliencie.