web-dev-qa-db-fra.com

Option client SSH pour supprimer les bannières du serveur?

J'ai lu Arrêter la connexion ssh de l'impression de motd depuis le client? , cependant ma situation est un peu différente:

  • Je veux garder la bannière/chemin/vers/quelque chose côté serveur
  • Je voudrais passer une option dans des conditions spécifiques pour que la bannière ne soit pas imprimée (par exemple ssh -o "PrintBanner=No" someserver).

Une idée?

15
user130370

Il existe une option LogLevel:

Cela fait taire la bannière, mais vous pouvez toujours recevoir des erreurs:

$ ssh -o LogLevel=error localhost 
Permission denied (publickey).
30
user3640161

Mettre à jour ~/.ssh/config avec ce qui suit pour supprimer la bannière

Host *
    LogLevel error
6
Sashi Kant

Je l'ai testé, je pense que vous pouvez utiliser -q dans la commande ssh. Le paramètre -q était moyen mode silencieux. Il provoque la suppression de la plupart des messages d'avertissement et de diagnostic, par ex.

ssh -t '$node2' 'Sudo cat xxx' |grep xxxxx" 2>/dev/null >/root/node2

ou

ssh -t -q '$node2' 'Sudo cat xxxx' |grep xxx" >/root/node2

J'espère que cela peut aider les autres

6
gray13

Vous devriez pouvoir définir un Banner différent (sur aucun) à l'intérieur d'un bloc Match.

Par exemple:

Match Address 192.0.2.0/24
        Banner none

Mais cela doit être fait côté serveur, en fonction de conditions spécifiques. Vous ne pouvez pas le faire du côté client.

4
Michael Hampton

On dirait que vous cherchez - q:

Mode silencieux. Supprime la plupart des messages d'avertissement et de diagnostic.

ssh user@Host
*------------------------------------------------------------------------------*
| banner: blah                                                                 |
*------------------------------------------------------------------------------*
Last login: Mon Oct  2 16:40:01 2017 from ipAddress
$

Avec -q

ssh -q user@Host
Last login: Mon Oct  2 16:40:30 2017 from ipAddress
$

Agréable et calme. La bannière est toujours configurée mais cela ne vous dérange pas.

Sur une autre note: n'utilisez pas de bannières. Il vaut mieux ne rien confirmer ou nier. Cela ne vous aidera pas avec les personnes qui ne vous inquiètent pas et les personnes qui vous inquiètent riront en travaillant à côté ;-)

4
todd_dsm

Pour moi, -o LogLevel=error Était meilleur que -q, Car ce dernier supprime les informations importantes sur l'erreur (que vous pouvez ensuite obtenir uniquement via le code de sortie).

Comparez ceci (sans options): [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

avec ceci (silencieux) [root@myserver804 myuser1]# ssh -q targetserver1; echo "exit code=$?" exit code=255

avec ceci (seulement les erreurs de journalisation) [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

La conclusion est donc - si vous êtes toujours intéressé par les erreurs pertinentes, utilisez -o LogLevel=error

0
Pik Master

Ni le -q ou la -oLogLevel=error travaux.

Ce qui fonctionne, c'est de supprimer STDERR

ssh hostname command 2>/dev/null

L'inconvénient, cependant, est que la suppression STDERR est appliquée à la commande entière et pas seulement au programme SSH.

0
Aethalides