Cygwinのsshを使用してWindowsからLinuxホストにログインした後、リモートシェルを終了すると、常に迷惑なメッセージが表示されます。
「信号1で殺された」
私はグーグルして、その無害であることに気づきました、しかしそれでも迷惑です...いくつかはあなたが使用することによってメッセージを取り除くことができると提案しました
$ ssh -q.。
しかし、それは私が試したどのマシンにも影響を与えません。
誰かがこのメッセージを取り除くための実用的な解決策を知っていますか?
~/.ssh/config
ファイルに次の行を追加すると、そのメッセージがつぶれる可能性があります。
更新:QUIETはすべてCAPSである必要があり、構成内のホストごとに追加する必要があります。
LogLevel QUIET
最初の行に追加すると、メッセージがグローバルに押しつぶされます。 Host
の下に配置されている場合にのみ、特定のホストに対して有効になります。
これは、sshセッションを別のホストを介してプロキシするときに発生します。例.ssh/config
ファイル:
# machine with open SSH port
Host proxy
HostName foo.com
# machine accessible only from the above machine
Host target
HostName 192.168.0.12
ProxyCommand ssh proxy nc %h %p
ssh target
を終了すると、ssh
のProxyCommand
が出力を生成します。そこに-q
を追加すると、抑制されます。
ProxyCommand ssh -q proxy nc %h %p
この出力がCygwinとは何の関係もないことに驚かれるかもしれません-それはLinuxでも起こります。
おそらく、代わりに PuTTY がお勧めです。私はそれがそのエラーを与えるとは思わない、そしてそれはあなたが接続情報や他の素晴らしいものを保存するようなことをすることを可能にする。
私は試していませんが、sterr(メッセージが送信されると私が信じているストリーム)を/ dev/null(事実上、物事が死ぬ場所であるビットバケットまたは底なしのボイド)にリダイレクトできる可能性があります。あなたはおそらく次のようなことをすることができます:
ssh user @ Host 2>/dev/null
さまざまな状況下で新しい解決策があるため、新しい回答を追加しています。
最新のProxyJump
ディレクティブを使用する場合、ProxyCommand
のように、-q
を配置する場所はありません。
Host target
ProxyJump proxy
ProxyCommand
を使用してより手動のジャンプ定義に戻す代わりに、ProxyJump
を使用した解決策はLogLevel QUIET
をHost proxy
定義に追加することです。
Host target
ProxyJump proxy
Host proxy
LogLevel QUIET
これは、ProxyCommand
の-q
のssh -q proxy ...
と同じ効果があります。
ControlMasterディレクティブを使用して接続共有を有効にすると、別のホストを介してセッションをプロキシするときに単一の接続を共有できます。次に、ControlPersistディレクティブを1秒に設定できます。これにより、共有接続の終了を遅らせることで、「killedbysignal1」エラーを回避できます。
〜/ .ssh/configに以下を追加します
ControlMaster auto
ControlPersist 1
ControlPath ~/.ssh/.%C