Przeczytałem Zatrzymaj logowanie ssh od drukowania motd z klienta? , ale moja sytuacja jest nieco inna:
- Chcę zachować Banner / path / to / sometxt serveride
- Chciałbym przekazać opcję pod pewnymi warunkami, aby Banner nie został wydrukowany (np
ssh -o "PrintBanner=No" someserver
.).
Dowolny pomysł?
-q
lub-o LogLevel=error
pracę wielki teraz :-)Istnieje
LogLevel
opcja:Wycisza baner, ale nadal możesz otrzymywać błędy:
źródło
Przetestowałem to, myślę, że możesz użyć
-q
polecenia ssh. Parametr -q oznacza tryb cichy . Powoduje to tłumienie większości komunikatów ostrzegawczych i diagnostycznych, nplub
Mam nadzieję, że to może pomóc innym
źródło
Zaktualizuj ~ / .ssh / config z następującymi, aby ukryć baner
źródło
Powinieneś być w stanie ustawić inny
Banner
(na brak) wewnątrzMatch
bloku.Na przykład:
Ale należy to zrobić po stronie serwera , w oparciu o określone warunki. Nie możesz tego zrobić po stronie klienta .
źródło
Wygląda na to, że szukasz -q :
Tryb cichy. Powoduje tłumienie większości komunikatów ostrzegawczych i diagnostycznych.
Z
-q
Cicho i spokojnie. Baner jest nadal skonfigurowany, ale nie przeszkadza ci to.
Z drugiej strony: nie używaj banerów. Najlepiej niczego nie potwierdzać ani zaprzeczać. Nie pomoże ci to z ludźmi, o których się nie martwiłeś, a ludzie, o których się martwisz, będą się śmiać, gdy będą pracować
;-)
źródło
Dla mnie
-o LogLevel=error
było lepsze niż-q
, ponieważ to ostatnie pomija ważne informacje o błędach (które można następnie uzyskać tylko za pomocą kodu wyjścia).Porównaj to (bez opcji):
[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
z tym (cicho)
[root@myserver804 myuser1]# ssh -q targetserver1; echo "exit code=$?" exit code=255
z tym (tylko błędy dziennika)
[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
Wniosek jest następujący: jeśli nadal interesują Cię odpowiednie błędy, skorzystaj z nich
-o LogLevel=error
źródło
Ani
-q
ani nie-oLogLevel=error
działa.Działanie polega na pomijaniu STDERR
ssh hostname command 2>/dev/null
Minusem jest jednak to, że tłumienie STDERR jest stosowane do całego polecenia, a nie tylko programu SSH.
źródło
Wystarczy zadzwonić do powłoki, która powinna ukryć baner.
Pamiętaj jednak, że przynajmniej dla mnie moje $ PS1 nie jest ustawione, więc wygląda na to, że się wisi. Musiałem wpisać kilka poleceń, aby sprawdzić, czy działa.
źródło
Banner
opcję w/etc/sshd_config
(przynajmniej nie na FreeBSD / OpenSSH_5.8p2)Dla mnie -q wykonał lewę i nadal byłem w stanie pracować z danymi wyjściowymi zapisanymi w pliku.
ssh -q root @ server28 "ls -alF / dr_mksysb | egrep -v \" total | lost + found | ./ | ../ \ "| awk '{print \ $ NF}' | sed 's /.\$ // g '"> $ {basedir} /28.list
źródło
-q
parametr. Reszta jest całkowicie niezwiązana i jest tylko pomocna. Parametr został już podany jako odpowiedź, więc nie wahaj się go głosować, jeśli pomógł ci, ale ta „odpowiedź” otrzyma tylko głosy negatywne