Suprimindo o banner ssh do cliente OpenSSH


34

Estou entrando em um servidor que possui um banner ssh definido. Eu gostaria de suprimi-lo (especialmente para uso não interativo). Eu não tenho acesso ao servidor sshd_config.

A melhor solução que encontrei até agora é definir a LogLevel ERRORopção no cliente. O problema é que isso suprimirá qualquer outra INFOmensagem de nível, que eu não necessariamente queira ocultar (procure logitexemplos na fonte do OpenSSH ). Eu também poderia usar, ssh -qmas isso suprimirá ainda mais.

Existem outras soluções mais específicas?

Respostas:


43

AFAIK "," ssh -qou " LogLevel QUIET" ~/.ssh/configsão as formas "tradicionais" de silenciar o banner. Então você já tem um compromisso "melhor" com " LogLevel ERROR".

Uma solução mais específica seria usar uma versão corrigida personalizada do cliente ssh, se esta for uma opção.


2
Eu acho que LogLevel ERRORapenas suprime o banner nas versões mais recentes do OpenSSH. Nas versões mais antigas, LogLevel QUIETou ssh -qsão necessárias.
22630 Michael Hoffman

3
Se -qnão funcionar (não funcionou para mim no Debian 7), você pode usar uma solução de outra pergunta: serverfault.com/a/764403/62024
Nux

1

Você também pode usar:

Banner none

em

/etc/ssh/sshd_config

1
O OP especificou "Não tenho acesso ao servidor sshd_config", portanto, infelizmente, isso não responde à pergunta.
Sr. Shunz

@ MrShunz Você está certo, mas cheguei a esta página procurando Suppressing ssh banner from OpenSSH cliente esta resposta, embora ela não responda totalmente à pergunta do OP, pode ajudar futuros usuários.
Pedro Lobito

0

Instale o hexedit:

apt-get update && apt-get install hexedit

Faça backup do seu binário sshd e crie uma cópia de trabalho editável (como raiz):

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

Atualize o binário com hexedit:

hexedit /tmp/sshd.new

Pressione TAB para mudar do HEX para a área ASCII.

Use CTRL + S para exibir o prompt de pesquisa e procure o texto em seu banner do que você deseja ocultar, por exemplo, 'OpenSSH_7.4'.

Você deve ver algo como:

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

Use as teclas de seta para destacar o início da sequência que você deseja atualizar e digite sua substituição.

Tenha cuidado para permanecer dentro dos limites do comprimento do banner original. Você também pode pressionar TAB para voltar para a área HEX se quiser anular a string definindo cada palavra como '00'.

Sua alteração deve ser algo como:

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

Salve suas alterações com CTRL + xe um Y.

Verifique se há alguma ocorrência que perdemos (não esperamos saída agora):

strings /tmp/sshd.new | grep Rasp

Atualize o sshd e reinicie o serviço para uma boa medida:

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

Verifique se você ainda pode fazer o SSH (caso contrário, restaure o backup ou reinstale o OpenSSH a partir do seu gerenciador de pacotes!):

ssh -vv user@ip

NOTA!!

Essa alteração será temporária apenas, sempre que você atualizar o OpenSSH, o binário será substituído.


2
Embora seja verdade que a pergunta não especificou de fato que eles não têm acesso de gravação sshd, parece bastante provável, pois ela não especificou nenhum sshd_configacesso. Eles estão procurando uma solução baseada no cliente.
Mike Scott
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.