sviluppo-web-qa.it

Soppressione del banner ssh dal client OpenSSH

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

La migliore soluzione che ho trovato finora è impostare LogLevel ERROR opzione sul client. Il problema è che questo sopprimerà qualsiasi altro messaggio di livello INFO, che non voglio necessariamente nascondere (cerca gli esempi di logit nell'origine OpenSSH). Potrei anche usare ssh -q ma questo eliminerà ancora di più.

Ci sono altre soluzioni più specifiche?

35
Michael Hoffman

PER QUANTO NE SO, "ssh -q" o "LogLevel QUIET" in ~/.ssh/config sono i modi "tradizionali" per mettere a tacere il banner. Quindi hai già un compromesso "migliore" con "LogLevel ERROR".

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

46
Pascal Thivent

Puoi anche usare:

Banner none

su

/etc/ssh/sshd_config
2
Pedro Lobito

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 da HEX all'area ASCII.

Utilizza CTRL + S per visualizzare il prompt di ricerca e cercare il testo nel banner che desideri nascondere, ad es. ‘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 desideri semplicemente annullare la stringa che imposta 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

Verifica di poter ancora SSH in (altrimenti ripristina il backup o reinstalla OpenSSH dal gestore dei pacchetti!):

ssh -vv [email protected]

NOTA !!

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

0
kokane