cygwin ssh在退出时给出"被信号1杀死"

Rop*_*Rop 19 ssh bash cygwin signals

使用cygwin的ssh从windows登录到linux-hosts后,当退出远程shell时,我总是得到烦人的消息:

"被信号1杀死"

我用Google搜索,并意识到它无害,但仍然很烦人......有人建议你可以通过使用来消除这个消息

$ ssh -q ...

但这对我试过的任何机器都没有影响.

任何人都知道摆脱这个消息的工作解决方案?

Irf*_*rfy 39

当您通过其他主机代理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
Run Code Online (Sandbox Code Playgroud)

当您从退出ssh target时,sshProxyCommand将导致输出.如果你添加-q它,它将被抑制:

ProxyCommand ssh -q proxy nc %h %p
Run Code Online (Sandbox Code Playgroud)

你可能会惊讶于这个输出与Cygwin无关 - 它也发生在Linux上.

  • 或者,使用ProxyCommand ssh -q -W%h:%p <jumper> (3认同)

Hon*_*Liu 6

~/.ssh/config文件中添加以下行可以压缩该消息.

更新:QUIET必须是所有CAPS,必须为配置中的每个主机添加.

LogLevel QUIET
Run Code Online (Sandbox Code Playgroud)

在第一行添加将全局压缩消息.仅在特定主机置于其下时才会生效Host.


Irf*_*rfy 6

我添加一个新答案是因为我在不同情况下有一个新的解决方案。

使用现代ProxyJump指令时,没有地方可以放置-q, ,如下所示ProxyCommand

Host target
  ProxyJump proxy
Run Code Online (Sandbox Code Playgroud)

ProxyCommand解决方案不是使用 切换回更手动的跳转定义,ProxyJump而是添加LogLevel QUIETHost proxy定义中:

Host target
  ProxyJump proxy
Host proxy
  LogLevel QUIET
Run Code Online (Sandbox Code Playgroud)

-q这将与in具有相同ProxyCommand的效果ssh -q proxy ...