Soppressione del banner ssh dal client OpenSSH


34

Sto accedendo a un server che ha un set di banner ssh. Vorrei sopprimerlo (specialmente per uso non interattivo). Non ho accesso al server sshd_config.

La migliore soluzione che ho trovato finora è impostare l' LogLevel ERRORopzione sul client. Il problema è che questo sopprimerà qualsiasi altro INFOmessaggio di livello, che non voglio necessariamente nascondere (cercare gli logitesempi di OpenSSH ). Potrei anche usare, ssh -qma questo sopprimerà ancora di più.

Ci sono altre soluzioni più specifiche?

Risposte:


43

AFAIK, " ssh -q" o " LogLevel QUIET" ~/.ssh/configsono i modi "tradizionali" per mettere a tacere il banner. Quindi hai già un "migliore" compromesso con " LogLevel ERROR".

Una soluzione più specifica sarebbe quella di utilizzare una versione personalizzata con patch del client ssh, se questa è un'opzione.


2
Penso che LogLevel ERRORelimini solo il banner nelle nuove versioni di OpenSSH. Nelle versioni precedenti LogLevel QUIETo ssh -qsono obbligatori.
Michael Hoffman,

3
Se -qnon funziona (non ha funzionato su Debian 7), allora puoi usare una soluzione da un'altra domanda: serverfault.com/a/764403/62024
Nux

1

Puoi anche usare:

Banner none

su

/etc/ssh/sshd_config

1
L'OP ha specificato "Non ho accesso al server sshd_config", quindi purtroppo questo non risponde alla domanda.
Shunz,

@MrShunz Hai ragione, ma sono arrivato a questa pagina cercando Suppressing ssh banner from OpenSSH cliente questa risposta, mentre non risponde completamente alla domanda OP, potrebbe aiutare i futuri utenti.
Pedro Lobito,

0

Installa hexedit:

apt-get update && apt-get install hexedit

Eseguire il backup del file binario sshd e creare una copia di lavoro modificabile (come root):

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

Aggiorna il binario con hexedit:

hexedit /tmp/sshd.new

Premere TAB per passare dall'esadecimale all'area ASCII.

Utilizzare CTRL + S per visualizzare il prompt di ricerca e cercare il testo nel banner che si desidera nascondere, ad esempio "OpenSSH_7.4".

Dovresti vedere qualcosa del tipo:

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

Utilizzare i tasti di direzione per evidenziare l'inizio della stringa che si desidera aggiornare e digitare la sostituzione.

Fare attenzione a rimanere entro i limiti della lunghezza del banner originale. Puoi anche premere TAB per tornare all'area esadecimale se vuoi semplicemente annullare la stringa impostando ogni parola su '00'.

La tua modifica dovrebbe assomigliare a:

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

Salva le modifiche con CTRL + x e una Y.

Controlla se ci sono casi che abbiamo perso (non prevediamo alcun output ora):

strings /tmp/sshd.new | grep Rasp

Aggiorna sshd e riavvia il servizio per buona misura:

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

Controlla che puoi ancora SSH in (altrimenti ripristina il backup o reinstalla OpenSSH dal gestore dei pacchetti!):

ssh -vv user@ip

NOTA!!

Questa modifica sarà temporanea poiché ogni volta che aggiorni OpenSSH, il file binario verrà sostituito.


2
Sebbene sia vero che la domanda in realtà non ha specificato che non hanno accesso in scrittura sshd, sembra abbastanza probabile poiché non ha specificato alcun sshd_configaccesso. Stanno cercando una soluzione basata su client.
Mike Scott
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.