web-dev-qa-db-ja.com

'xx.xxx.xx.xxxへの接続が閉じられました'メッセージを削除するにはどうすればよいですか?

#!/bin/bash

ssh -t $SSH "
    some
    commands
"

「xx.xxx.xx.xxxへの接続が閉じられました」というメッセージはどこから送信されますか? result = ssh ...でも止められない

16
ChocoDeveloper

それはSSHから来ています。これは、SSHが接続に pseudo-terminal を割り当てるように強制する-tスイッチを指定したためです。従来、SSHはそのメッセージを表示して、リモートホスト上のシェルと対話しなくなったことを明確にします。これは通常、SSHに疑似端末が割り当てられている場合にのみ問題になります。

9
Fran

sSHコマンドラインに-o LogLevel=QUIETを追加すると、そのメッセージは消えます。

ssh -o LogLevel=QUIET -t $SSH "
      some 
      commands
"

~/.ssh/configファイルにLogLevel QUIETという行として追加することもできます。

31
Leo

フランが述べたように、これは-tスイッチが原因で発生しています。次を追加してメッセージを非表示にできます。

 2>/dev/null

コードは次のようになります。

#!/ bin/bash 
 
 ssh -t $ SSH "
 some 
 commands 
" 2>/dev /ヌル

これにより、STDERRが/ dev/nullにリダイレクトされます。発生する可能性のあるすべてのエラーメッセージも/ dev/nullにリダイレクトされるため、表示されないことに注意してください。

6
wrangler