Eu li Interromper o login ssh de imprimir motd a partir do cliente? , no entanto, minha situação é um pouco diferente:
- Quero manter os servidores Banner / path / to / sometxt
- Gostaria de passar uma opção sob condições específicas para que o Banner não seja impresso (por exemplo
ssh -o "PrintBanner=No" someserver
).
Qualquer ideia?
-q
ou-o LogLevel=error
grande trabalho agora :-)Existe uma
LogLevel
opção:Silencia o banner, mas você ainda pode receber erros:
fonte
Eu testei, acho que você pode usar
-q
no comando ssh. O parâmetro -q foi significa modo silencioso . Isso faz com que a maioria das mensagens de aviso e diagnóstico sejam suprimidas, por exemplo,ou
Espero que isso possa ajudar outras pessoas
fonte
Atualize ~ / .ssh / config com o seguinte para suprimir banner
fonte
Você deve poder definir um diferente
Banner
(para nenhum) dentro de umMatch
bloco.Por exemplo:
Mas isso deve ser feito no lado do servidor , com base em condições específicas. Você não pode fazer isso do lado do cliente .
fonte
Parece que você está procurando por -q :
Modo silencioso. Faz com que a maioria das mensagens de aviso e diagnóstico seja suprimida.
Com
-q
Agradável e tranquilo. O banner ainda está configurado, mas você não é incomodado por ele.
Em outra nota: não use banners. É melhor não confirmar ou negar nada. Isso não vai ajudá-lo com as pessoas com quem você não estava preocupado e as pessoas com quem você está preocupado rirão ao passar por isso.
;-)
fonte
Para mim,
-o LogLevel=error
foi melhor que-q
, porque o último suprime as informações importantes sobre erros (que você pode obter apenas via código de saída).Compare isto (sem opções):
[root@myserver804 myuser1]# ssh targetserver1; echo "exit code=$?" @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY! Someone could be eavesdropping on you right now (man-in-the-middle attack)! It is also possible that a host key has just been changed. The fingerprint for the RSA key sent by the remote host is SHA256:hvtR8Dl09aUeCeG2cT5EA8b+nbCOoV6h1DUON2vE63w. Please contact your system administrator. Add correct host key in /root/.ssh/known_hosts to get rid of this message. Offending RSA key in /root/.ssh/known_hosts:1735 RSA host key for targetserver1 has changed and you have requested strict checking. Host key verification failed. exit code=255
com isso (quieto)
[root@myserver804 myuser1]# ssh -q targetserver1; echo "exit code=$?" exit code=255
com isso (apenas erros de log)
[root@myserver804 myuser1]# ssh -o LogLevel=error targetserver1; echo "exit code=$?" @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY! Someone could be eavesdropping on you right now (man-in-the-middle attack)! It is also possible that a host key has just been changed. The fingerprint for the RSA key sent by the remote host is SHA256:hvtR8Dl09aUeCeG2cT5EA8b+nbCOoV6h1DUON2vE63w. Please contact your system administrator. Add correct host key in /root/.ssh/known_hosts to get rid of this message. Offending RSA key in /root/.ssh/known_hosts:1735 RSA host key for targetserver1 has changed and you have requested strict checking. Host key verification failed. exit code=255
Portanto, a conclusão é: se você ainda estiver interessado em erros relevantes, use
-o LogLevel=error
fonte
Nem os
-q
ou os-oLogLevel=error
trabalhos.O que funciona é suprimir STDERR
ssh hostname command 2>/dev/null
A desvantagem, no entanto, é que a supressão do STDERR é aplicada a todo o comando e não apenas ao programa SSH.
fonte
Basta chamar um shell, que deve suprimir o banner.
Note que, para mim, pelo menos, meu $ PS1 não é definido, então parece que está travando. Eu tive que digitar alguns comandos para verificar se estava funcionando.
fonte
Banner
opção/etc/sshd_config
(pelo menos isso não acontece no FreeBSD / OpenSSH_5.8p2)Para mim, o q fez o truque e eu ainda era capaz de trabalhar com a saída salva em um arquivo.
ssh -q root @ server28 "ls -alF / dr_mksysb | egrep -v \" total | perdidos + encontrados | ./ | ../ \ "| awk '{print \ $ NF}' | sed 's /.\$ // g '"> $ {basedir} /28.list
fonte
-q
parâmetro O resto é completamente independente e só é útil para você. O parâmetro já foi dado como uma resposta, tão à vontade para upvote-lo se ele te ajudou, mas esta "resposta" só receberá downvotes