Ошибка задачи TFS SSH на компьютере Windows
Я попытался подключить компьютер с Windows, который существует в другом домене, чем наш TFS 2018.3.
Я добавил задачу "SSH" и создал новую конечную точку SSH с IP-адресом, именем пользователя и паролем удаленного компьютера без личного ключа. Я настроил в удаленной машине доступ по SSH для этого имени пользователя и пароля.
В задаче SSH я настраиваю простую команду оболочки: ls
,
Агент TFS успешно подключился к компьютеру, но потерпел неудачу с этой ошибкой:
Невозможно выполнить команду или оболочку на удаленной системе: не удалось выполнить процесс.
Полный журнал:
2019-08-15T13:22:54.1491966Z Trying to setup SSH connection to ********@myserverinanotherdomain:22
2019-08-15T13:22:54.4085564Z Successfully connected.
2019-08-15T13:22:54.8120684Z tr -d '\015' <"./sshscript_1565875374136" > "./sshscript_1565875374136._unix"
2019-08-15T13:22:54.8121422Z Unable to execute command or shell on remote system: Failed to Execute process.
2019-08-15T13:22:54.8121745Z
2019-08-15T13:22:54.8180230Z ##[error]Command tr -d '\015' <"./sshscript_1565875374136" > "./sshscript_1565875374136._unix" exited with code 4294967295.
Я думаю, потому что это машина Windows, и я пытаюсь выполнить сценарий оболочки. Если я буду устанавливать Git bash, например, это может помочь?
Задача SSh поддерживает только машины с Linux? если да, как я могу подключить машину, которая существует в другом домене?
1 ответ
SSH, являющийся протоколом связи, не зависит от ОС. Это не специфично для Linux. Но, похоже, есть ограничение на использование задачи SSH на компьютере с Windows / агенте сборки. Взгляните на этот похожий вопрос: не удается запустить bash-скрипт из windows, используя vsts.
Я не нашел документацию, в которой четко указано, что задача SSh не поддерживается на компьютере с Windows. Но я нашел задачу, которая также использует SSH- Копировать файлы поверх SSH. И согласно Q&A в официальной ссылке:
Поддерживается ли эта задача для целевых машин, работающих под управлением операционных систем, отличных от Linux?
Эта задача предназначена для целевых машин под управлением Linux.
- Для копирования файлов на компьютер MacOS может использоваться эта задача, но аутентификация с паролем не поддерживается.
- Для копирования файлов на компьютер с Windows рассмотрите возможность использования Windows Machine File Copy.
Вместо SSH. Вы должны иметь возможность использовать локальную учетную запись на сервере сборки и при вводе учетных данных. Учетная запись должна иметь тот же пароль, что и учетная запись в другом домене. В других работах убедитесь, что учетная запись сборки, запущенная на агенте сборки, может подключаться к другому домену.
Также убедитесь, что между доменами существуют доверительные отношения.