Cygwin ssh дает "Убитый сигналом 1" при выходе
После использования cygwin ssh для входа из Windows в Linux-хосты,
при выходе из удаленной оболочки я всегда получаю раздражающий msg:
"Убито сигналом 1"
Я googled, и понимаю его безвредный, но все еще раздражающий...
Некоторые предложили вам избавиться от сообщения, используя
$ssh -q...
Но это не влияет ни на одну из машин, которые я пробовал.
Кто-нибудь знает рабочее решение, чтобы избавиться от этого сообщения?
Ответы
Ответ 1
Добавление следующей строки в файл ~/.ssh/config
может уничтожить это сообщение.
Обновление: QUIET должен быть все CAPS & должен быть добавлен для каждого хоста в вашей конфигурации.
LogLevel QUIET
Если добавить в первую строку, сообщение будет подавлено глобально. Действует только для определенных хостов, если он помещен в Host
.
Ответ 2
Это происходит, когда вы проксируете сеанс 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
in ProxyCommand
приведет к выходу. Если вы добавите -q
там, он будет подавлен:
ProxyCommand ssh -q proxy nc %h %p
Вы можете быть удивлены, что этот вывод не имеет ничего общего с Cygwin - это происходит и в Linux.
Ответ 3
Возможно, вам может понравиться PuTTY в качестве альтернативы. Я не думаю, что он дает эту ошибку. И он позволяет вам делать такие вещи, как сохранение информации о подключении и других тонкостей.
Хотя я и не пробовал это, вы также можете перенаправить sterr (который является потоком, на который я верю, что сообщение будет отправлено) в /dev/null (эффективно, битбакет или бездонная пустота, куда вещи идут умереть). Вы могли бы сделать что-то вроде:
ssh user @host 2 > /dev/null
Ответ 4
Если вы разрешаете совместное использование совместно с директивой ControlMaster, вы можете использовать одно соединение при проксировании сеансов через другой хост. Затем вы можете установить директиву ControlPersist на 1 секунду, что позволит избежать ошибки "убитого по сигналу 1", задерживая завершение общего подключения.
Добавьте в свой файл ~/.ssh/config
следующее:
ControlMaster auto
ControlPersist 1
ControlPath ~/.ssh/.%C
Ответ 5
Я добавляю новый ответ, потому что у меня есть новое решение при других обстоятельствах.
При использовании современной директивы ProxyJump
нет места для вставки -q
, как с ProxyCommand
:
Host target
ProxyJump proxy
Вместо того, чтобы вернуться к более ручному определению перехода с помощью ProxyCommand
, решение с помощью ProxyJump
состоит в том, чтобы добавить LogLevel QUIET
к определению Host proxy
:
Host target
ProxyJump proxy
Host proxy
LogLevel QUIET
который будет иметь тот же эффект, что и -q
в ProxyCommand
ssh -q proxy ...
.