У меня есть сервер ubuntu и клиент Windows XP с Cygwin. Сервер ssh
в клиент и пытается выполнить сценарий оболочки с некоторыми параметрами с помощью следующей команды:
ssh user@IP_ADDR 'sh /home/user/project/clientside 2 5 7 6 9 5 7 IP_ADDR'
где IP_ADDR
это IP-адрес клиента.
Однако при этом я получаю следующую ошибку:
Access is denied.
Думая, что это может быть ошибка прав пользователя, я попытался запустить sh /home/user/project/clientside 2 5 7 6 9 5 7 IP_ADDR
на клиенте, на Cygwin, при входе в систему как user
.
Это работает, как ожидалось.
Затем я подумал, что это может быть ошибка с логином, который я использую, когда я подключаюсь к клиенту по ssh. Поэтому я выполнил это вместо этого:
ssh user@IP_ADDR 'whoami'
и вернулся user
.
Это произошло даже после того, как я сделал chmod -R 777 /home/user/project
на клиенте в Cygwin.
Для удовольствия я вошел на Cygwin на клиенте и сделал ssh localhost
и выполняется вручную sh /home/user/project/clientside 2 5 7 6 9 5 7 IP_ADDR
.
Это сработало, как и ожидалось.
Однако когда я это сделал ssh IP_ADDR
от Cygwin и сделал ssh localhost
и выполняется вручную sh /home/user/project/clientside 2 5 7 6 9 5 7 IP_ADDR
, Я получаю то же самое Access is denied.
ошибка.
Почему это происходит? Как я могу это исправить?
Кстати, и у сервера, и у клиента есть открытый ключ rsa друг друга для беспарольного ssh
Проблема в том, как работают службы Windows.
Это устраняет проблему:
services.msc
на Run Dialog
).CYGWIN sshd
службаCYGWIN sshd
для входа в свойства сервисаLog On
вкладку, убедитесь, что Log on as
установлен на Local System account
и Allow service to interact with desktop
провереноМожешь попробовать ssh IP_ADDR sh echo lalala
для этого вы действительно можете открыть терминал sh. если это не удается ... вы знаете причину. Также было бы полезно предоставить нам образцы / var / log / messages и / var / log / secure {или любого другого журнала, который, по вашему мнению, будет полезен}