Ich logge mich auf einem Server ein, auf dem ein SSH-Banner gesetzt ist. Ich möchte es unterdrücken (insbesondere für nicht interaktive Zwecke). Ich habe keinen Zugriff auf den Server sshd_config
.
Die beste Lösung, die ich bisher gefunden habe, besteht darin, die LogLevel ERROR
Option auf dem Client festzulegen. Das Problem ist, dass dies alle INFO
Nachrichten auf anderen Ebenen unterdrückt , die ich nicht unbedingt ausblenden möchte (suchen Sie in der OpenSSH-Quelle logit
nach Beispielen). Ich könnte es auch gebrauchen, ssh -q
aber das wird noch mehr unterdrücken.
Gibt es noch spezifischere Lösungen?
LogLevel ERROR
nur das Banner in neueren Versionen von OpenSSH unterdrückt. In älteren VersionenLogLevel QUIET
oderssh -q
sind erforderlich.-q
es nicht funktioniert (es hat bei Debian 7 nicht funktioniert), können Sie eine Lösung aus einer anderen Frage verwenden: serverfault.com/a/764403/62024Sie können auch verwenden:
auf
quelle
sshd_config
" angegeben, daher beantwortet dies leider nicht die Frage.Suppressing ssh banner from OpenSSH client
und habe nach dieser Antwort gesucht , obwohl sie die OP-Frage nicht vollständig beantwortet, kann sie zukünftigen Benutzern helfen.Installieren Sie hexedit:
apt-get update && apt-get install hexedit
Sichern Sie Ihre sshd-Binärdatei und erstellen Sie eine bearbeitbare Arbeitskopie (als Root):
Aktualisiere die Binärdatei mit hexedit:
hexedit /tmp/sshd.new
Drücken Sie die Tabulatortaste, um vom HEX-Bereich in den ASCII-Bereich zu wechseln.
Verwenden Sie STRG + S, um die Suchabfrage aufzurufen und nach dem Text in Ihrem Banner zu suchen, den Sie ausblenden möchten, z. B. 'OpenSSH_7.4'.
Sie sollten etwas sehen wie:
Markieren Sie mit den Pfeiltasten den Anfang der Zeichenfolge, die Sie aktualisieren möchten, und geben Sie Ihre Ersetzung ein.
Achten Sie darauf, dass Sie sich nicht an die Länge des ursprünglichen Banners halten. Sie können auch die Tabulatortaste drücken, um zum HEX-Bereich zurückzukehren, wenn Sie die Zeichenfolge, die jedes Wort auf "00" setzt, einfach auf Null setzen möchten.
Ihre Änderung sollte ungefähr so aussehen:
Speichern Sie Ihre Änderungen mit STRG + x und einem Y.
Überprüfen Sie, ob es Instanzen gibt, die wir verpasst haben (wir erwarten jetzt keine Ausgabe):
Aktualisieren Sie sshd und starten Sie den Dienst aus gutem Grund neu:
Stellen Sie sicher, dass Sie immer noch SSH einspielen können (andernfalls stellen Sie das Backup wieder her oder installieren Sie OpenSSH erneut von Ihrem Paketmanager aus!):
ssh -vv user@ip
HINWEIS!!
Diese Änderung ist nur vorübergehend, da die Binärdatei bei jedem Update von OpenSSH ersetzt wird.
quelle
sshd
, so scheint es ziemlich wahrscheinlich , da es hat keinen angebensshd_config
Zugang. Sie suchen nach einer Client-basierten Lösung.