У меня есть два Mac, оба с включенным sshd через Системные настройки> Общий доступ> Удаленный вход в систему: Вкл. Я могу успешно войти в оба из них и запускать команды в интерактивной оболочке, используя
$ ssh <hostname>.local
Я использую простую аутентификацию по паролю (без ключей SSH) и подтвердил с помощью sudo sshd -t
что с sshd_config
проблем нет.
Однако, если я пытаюсь выполнить команду только на удаленной машине,
$ ssh <hostname>.local echo foo
команда не выполняется (т. е. выход из состояния 1 / ничего в STDOUT
). В частности, подробный (отладочный) вывод выглядит почти идентично тому, что я получаю при успешном выполнении такой команды на моем Linux VPS - единственное отличие заключается в состоянии выхода:
Mac Host
$ ssh -v <hostname>.local echo foo 2>&1 | tail -n10
Password:
debug1: Sending environment.
debug1: Sending env LANG = en_US.UTF-8
debug1: Sending command: echo foo
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
debug1: client_input_channel_req: channel 0 rtype eow@openssh.com reply 0
debug1: channel 0: free: client-session, nchannels 1
debug1: fd 1 clearing O_NONBLOCK
Transferred: sent 2300, received 2552 bytes, in 0.0 seconds
Bytes per second: sent 86838.6, received 96353.1
debug1: Exit status 1
Linux VPS Host
$ ssh -v <vps> echo foo 2>&1 | tail
debug1: Sending env LANG = en_US.UTF-8
debug1: Sending command: echo foo
foo
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
debug1: client_input_channel_req: channel 0 rtype eow@openssh.com reply 0
debug1: channel 0: free: client-session, nchannels 1
debug1: fd 1 clearing O_NONBLOCK
Transferred: sent 3304, received 2744 bytes, in 0.3 seconds
Bytes per second: sent 11505.5, received 9555.4
debug1: Exit status 0
Кроме того, scp
не работает с lost connection
.
Что тут происходит?