Почему сервис FreeSSHd работает на Windows Server, но я не могу подключиться с клиентского компьютера?

FreeSSHd установлен на Windows Server 2003, не на диске C:, а на другом диске, D:. Когда я запускаю командную строку на диске D: и набираю ssh, он говорит, что ssh не распознан.

Я добавил себя как пользователя в FreeSSHd с хешированным паролем и включил SSH.

Служба брандмауэра Windows не работает.

Я могу подключиться к серверу с помощью подключения к удаленному рабочему столу. Я хочу использовать ssh с системой управления исходным кодом Mercurial.

Хотя я вошел на сервер через подключение к удаленному рабочему столу, я также могу подключиться к серверу через ssh и putty на клиентском компьютере.

Как только я выхожу с сервера через подключение к удаленному рабочему столу и набираю на клиенте:

ssh <username>@<server>

Я получил:

ssh: Connect to host <server> port 22: Connection refused

5 ответов

Решение

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

Я воскрешаю старую ветку, я знаю, но у меня есть новая информация. Ответ на самом деле заключается в том, что служба и внешний интерфейс работают независимо, со своим собственным INI-файлом. Служба по умолчанию работает как LocalSystem, но когда вы запускаете интерфейс (по крайней мере, в Windows 7), он сохраняет настройки в дереве каталогов вашего профиля, поэтому служба никогда не читает его.

Решением для меня было скопировать файл FreeSSHDService.ini из следующей папки поверх той, которая находится в папке Program Files:

C:\users\<my username>\AppData\Local\VirtualStore\Program Files (x86)\freeSSHd\

Перезапустите службу, и затем вы сможете выйти. Но, как указал Mattijs, время от времени кажется, что оно все-таки падает, а другой недостаток заключается в том, что каждый раз, когда вам нужно внести изменения в конфигурацию, вы должны либо вручную редактировать INI-файл, либо заново копировать его после редактирования через пользовательский интерфейс. Жаль, что он больше не поддерживается, это все еще очень полезный инструмент.

Извините , но это нелепо: держать сеанс открытым, чтобы не отключать службу.... У меня возникла та же проблема, и я смог запустить службу, запустив ее от имени администратора.

Выполните следующие действия: Перейдите в консоль служб в администраторе и остановите текущую службу freessshd. Затем откройте CMD и запустите:

runas /user:<localmachinename>\administrator cmd

где \ администратор может быть заменен вашим администратором. Мне не нужно имя местной машины.

Он попросит вас ввести пароль, а затем откроет новый CMD. В этой команде вы запустите freesshdservice с

net start <service name>

Закройте все экраны и выйдите из системы. Тест freesshd все еще выполняется.

Незначительным улучшением будет добавление автозапуска в код командной строки, чтобы он перезагружался после перезагрузки сервера. С текущим решением это не будет, я думаю.

Щелкните правой кнопкой мыши на инструменте конфигурации freesshd и выберите "Запуск от имени администратора", а также установите флажок "Разрешить службе взаимодействовать с рабочим столом" в службах.

Для службы FreeSSHD должен быть включен параметр "Разрешить службе взаимодействовать с рабочим столом".

Другие вопросы по тегам