ssh를 정말로 조용하게 만들기


15

나는 nagios 스크립트를 작성하는 중반이며 SSH로 성가신 것입니다.

매뉴얼 페이지에 따르면 :

-q       Quiet mode.  Causes all warning and diagnostic messages to be
         suppressed.

그러나 조용한 플래그를 활성화 한 다음 유효하지 않은 포트를 전달하면 여전히 오류가 발생합니다.

$ ssh user@localhost -q -p test
Bad port 'test'

메시지가 첫 번째 라인이되고 Nagios가 잡은 것이기 때문에 이것은 문제입니다. != 0ssh에서 종료 코드를 가져온 후 "Warning | SSH error"와 같은 것을 출력해야 하지만 출력 할 수있는 첫 번째 행은 2 행이됩니다.

SSH TRULY를 어떻게 조용하게 만들 수 있습니까?

참고 :이 질문을 serverfault, 수퍼 유저 또는 stackoverflow에 게시할지 확실하지 않습니다. 사용자 기반이 cli SSH 및 cli 스크립팅 해결 방법에 가장 많은 경험이 있으므로 serverfault와 함께 사용했습니다.


2
실제로 도움이되는 것은 아니지만 매뉴얼을 업데이트하여 업데이트 한 것처럼 보입니다. OpenSSH 5.8 (및 이전 버전)부터는 " 모든 경고 및 진단" 대신 " 대부분의 경고 및 진단"이 표시되지 않습니다.
— James Sneeringer

귀찮아! 그래도 좋은 자리.
— SimonJGreen

왜 유효하지 않은 포트에 연결하지 마십시오?
— Zoredache

1
@Zoredache 잡기 / 처리 오류입니다. 오타를 피한다고해서 우아하게 처리하는 방법의 문제는 해결되지 않습니다.)
— SimonJGreen

답변:


25
ssh user@localhost -q -p test 2> /dev/null 

stderr/ dev / null로 리디렉션 됩니다.


2
이제 나는 완전한 가슴 같아요. 늦은 밤에 코딩하도록 가르쳐 줄 것입니다!
— SimonJGreen

-2

또는 LogLevel QUIET구성 파일에서 가장 쉬운 메소드 저장소 :

$ cat ~/.ssh/config 
Host *
  IdentityFile ~/.ssh/id_rsa
  StrictHostKeyChecking no
  UserKnownHostsFile /dev/null
  LogLevel QUIET
  ...

적은 타이핑으로 위와 동일한 결과를 얻습니다.

건배


1
% ssh를 -p 테스트 -oLogLevel = QUIET 로컬 호스트 잘못된 포트 '시험'은 여기에 질문을 받았다 문제가 해결되지 않기 때문에 나는 대답을 downvoted
— cstamas
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.