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

Posted

技术标签:

【中文标题】cygwin ssh 在退出时给出“被信号 1 杀死”【英文标题】:cygwin ssh gives "Killed by signal 1" on exit 【发布时间】:2012-09-20 07:34:04 【问题描述】:

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

“被信号 1 杀死”

我用谷歌搜索,发现它无害,但仍然很烦人...... 有人建议您可以使用

来摆脱该消息

$ ssh -q ...

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

任何人都知道摆脱此消息的有效解决方案?

【问题讨论】:

您找到解决方案了吗? 不。仍然收到那个消息。 @Yotam 看看我的回答 【参考方案1】:

在脚本 bash 中,要删除此消息,请在顶部添加以下内容:

exec 2> >(grep -v "Killed by signal 1.")

【讨论】:

【参考方案2】:

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

使用现代的ProxyJump 指令时,没有地方可以放置-q,与ProxyCommand 一样:

Host target
  ProxyJump proxy

ProxyCommand 切换回更手动的跳转定义不同,ProxyJump 的解决方案是将LogLevel QUIET 添加到Host proxy 定义中:

Host target
  ProxyJump proxy
Host proxy
  LogLevel QUIET

这将与ProxyCommandssh -q proxy ... 中的-q 具有相同的效果。

【讨论】:

【参考方案3】:

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

更新:QUIET 必须全部大写并且必须为配置中的每个主机添加。

LogLevel QUIET

在第一行添加将全局压缩消息。只有放在Host下的特定主机才会生效。

【讨论】:

更多细节在这里:digitalocean.com/community/tutorials/…【参考方案4】:

如果您使用 ControlMaster 指令启用连接共享,您可以在通过另一台主机代理会话时共享单个连接。然后,您可以将 ControlPersist 指令设置为 1 秒,这将通过延迟共享连接的终止来避免“被信号 1 杀死”错误。

将以下内容添加到您的 ~/.ssh/config

ControlMaster auto
ControlPersist 1
ControlPath ~/.ssh/.%C

【讨论】:

【参考方案5】:

当您通过另一台主机代理您的 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 退出时,ProxyCommand 中的ssh 将导致输出。如果您在此处添加-q,它将被禁止:

ProxyCommand ssh -q proxy nc %h %p

您可能会惊讶于此输出与 Cygwin 无关——它也发生在 Linux 上。

【讨论】:

我的一个仍在生产中的旧 SunOS 机器之一,OpenSSH_4.3p2, OpenSSL 0.9.8b 04 May 2006 不支持此选项。还有-W跟原来的问题没有关系。【参考方案6】:

也许,您可能更喜欢PuTTY。我认为它不会给出该错误,并且它允许您执行保存连接信息以及其他细节等操作。

虽然我还没有尝试过,但您也可以将 sterr(我相信消息将被发送到的流)重定向到 /dev/null(实际上是事情去向的 bitbucket 或无底洞)死)。你可以做类似的事情:

ssh user@host 2>/dev/null

【讨论】:

以上是关于cygwin ssh 在退出时给出“被信号 1 杀死”的主要内容,如果未能解决你的问题,请参考以下文章

为啥当我使用 Cygwin X11 ssh 时,Vista 会抱怨一个死进程,我该如何让它关闭?

在计算机管理中找不到cygwin ssh服务

如何在 Cygwin 上从 CPAN 安装 Net::SSH2

Cygwin-安装和配置ssh服务

Cygwin ssh - 无法访问身份文件

CLion IDE:在 Windows 上使用 ssh 作为环境工具链,而不是 MinGW/Cygwin