ФОН:

Мне нужно новое решение для резервного копирования. К сожалению, большинство моих персональных компьютеров работают под управлением Windows, то есть не имеют встроенной поддержки rsync, но представляют собой набор альтернативных инструментов, которые либо превращаются в деньги, либо работают недостаточно хорошо (поэтому я бы любезно попросил воздержаться от "решений", таких как как "попробуйте rsync для Windows альтернатива XY", если вы действительно не уверены, что указанный инструмент является полностью бесплатным и поставляется с полными возможностями rsync). Таким образом, я хочу запустить ssh-сервер, чтобы использовать rsync из MobaXterm (cygwin, как Unix enviroment для Windows). Существует инструмент, который, по-видимому, прекрасно это делает: MobaSSH (https://mobassh.mobatek.net/)

ВОПРОС:

Поиграв с клиентом и сервером OpenSSH, который теперь поставляется в Windows, я понял, что с этим решением ssh/scp работает как чудо, но rsync (на данный момент) не поддерживается, и похоже, что он скоро появится. Таким образом, я использую MobaSSH в качестве сервера SSH. На компьютере, где я не играл с Windows OpenSSH Server, MobaSSH работает, и я могу, например, подключиться как:

ssh localhost

Тем не менее, на машине мне это нужно, это невозможно, т. Е. Комбинация USER и PASSWORD учетной записи пользователя Windows не распознается, и я получаю

Permission denied.

после вышеуказанной команды. (Наличие только одного пользователя на машине с Windows, это то же самое, что пытаться

ssh USER@localhost

непосредственно.)

До сих пор я пытался удалить приложение Windows OpenSSH Server и переустановить MobaSSH.

Я уверен, что ПОЛЬЗОВАТЕЛЬ и ПАРОЛЬ - единожды для входа в Windows.

Так как он работает без проблем на другом компьютере, я подозреваю, что есть некоторые записи реестра или что-то, что испортилось после установки OpenSSH Server, которое не удалось обнаружить простой деинсталляцией. У кого-нибудь есть подсказка, что может быть не так и / или идеи, на которые нужно смотреть?

Спасибо!

1 ответ1

0

Хорошо, пара проблем, которые я нашел, чтобы наконец сделать эту работу:

1) Windows предполагает, что USER и HOSTNAMES не чувствительны к регистру, то есть иногда печатают неправильно, например, при использовании ssh localhost без указания пользователя. Это, конечно, не правильно, т. Е. Это исправлено, всегда указывая USER/HOSTNAMES вручную.

2) MobaSSH поставляется с довольно приятным функционалом, однако, только для платной версии. Бесплатная версия НЕ позволяет изменять какие-либо настройки по умолчанию. Одним из этих значений по умолчанию является то, что вход по паролю отключен, т. Е. Необходимо настроить пару ключей rsa. Традиционно для этого требуется сначала войти по паролю, но, очевидно, он может обойтись, если у вас есть полный доступ к машине с Windows. Таким образом, исправление здесь заключается в том, чтобы сначала настроить логин без пароля (скопируйте ключ в /USR/.ssh/authorized_keys).

К сожалению, это также означает, что я никому не могу рекомендовать использовать MobaSSH.

3) Брандмауэр Windows блокирует порт 22. Насколько я понимаю, идея состоит в том, чтобы настроить разрешения для определенных программ использовать (некоторые) порты. Это похоже на правильную настройку при установке MobaSSH, однако, несмотря на то, что входящие правила существуют в настройках брандмауэра и кажутся мне правильными, порт остается заблокированным. Единственное исправление, которое мне удалось (ну, несмотря на отключение брандмауэра), было добавить исключение для порта 22, независимо от программы.

Я не знаю, предназначено ли это, или исключение для MobaSSH не настроено правильно (хотя мне кажется, что это так).

Таким образом, вышеприведенные пункты решают проблему, как указано в посте, с оговоркой, вероятно, не является идеальным решением.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .