SSH ForcedCommand вызывает закрытие соединения

360
gsingh2011

У меня SSHing на сервере (я на Cygwin использую openSSH), и я вошел в author_keys и изменил файл следующим образом: ssh-rsa [ключ] в команду = "echo Working" ssh-rsa [ключ]

Теперь, когда я подключаюсь к серверу, у меня работает выход, но сразу после этого я получаю «Соединение с [имя сервера] закрыто».

Почему соединение закрывается? Я сделал что-то не так, или сервер почему-то не позволяет принудительные команды?

1

1 ответ на вопрос

2
Daniel Beck

Вы заменяете любую оболочку, которую обычно запускаете этой командой. Так что на самом деле он ведет себя точно так, как настроено: подключиться, аутентифицироваться, выполнить echoкоманду и выйти.

Предполагается, что это будет использоваться для запуска, например, автоматических заданий, таких как резервное копирование, при использовании определенного ключа для аутентификации, когда соединение закрывается после возврата вызова программы.

Так что, если бы я хотел выполнить эту команду и оставаться на связи после, какую часть команды я бы изменил? Я хотел запустить скрипт запуска и оставаться на связи, эхо-работа была только для целей тестирования. gsingh2011 12 лет назад 0
@ gsingh2011 Вы можете попробовать запустить `echo Working; bash` или `echo Working && bash` для явного запуска оболочки bash. Я не уверен, что это сработает. Daniel Beck 12 лет назад 0
эхо работает; Баш работал правильно. Узнал что-то новое сегодня :) gsingh2011 12 лет назад 0

Похожие вопросы