Мой сценарий сборки загружается в производство, используя rsync
через ssh
.Обычно я выполняю развертывание из Linux-бокса, но я хочу иметь возможность развертывать и из Windows, даже в тех случаях, когда мне нужно сделать быстрые изменения и получить доступ только к моей машине с Windows.Однако у меня проблемы.Вот соответствующая часть подробного вывода.Первая строка выводится моим скриптом сборки, а остальные - либо rsync, либо программами, которые он вызывает (т. Е. Я не вызываю SSH напрямую).
Executing the rsync command: ['rsync', '--verbose', '-avzihhhc', '--exclude=/.well-known', '--exclude', 'deploy.sh', '--delete', '..\\scottseverance.mss\\_site\\', 'myuser@myhost:/home/public']
opening connection using: ssh -l myuser myhost rsync --server -vvnlogDtprcze.iLsfxC "--log-
format=%i" --delete . /home/public (11 args)
Could not create directory '/home/Scott/.ssh'.
The authenticity of host 'myhost (host's ip address)' can't be established.
ECDSA key fingerprint is SHA256:a+Ny0PLkKhm80+5kqzqfVXIlbkQpn/CpMMrzurd8sDI.
Are you sure you want to continue connecting (yes/no)? yes
Failed to add the host to the list of known hosts (/home/Scott/.ssh/known_hosts).
myuser@myhost's password:
Я думаю, что ключ в том, какие каталогиэто ищет.Обратите внимание, что он не может создать /home/Scott/.ssh
.Естественно, он не может этого сделать, поскольку /home
не существует на компьютере с Windows.$HOME
возвращает /c/Users/Scott
, поэтому, даже если он ищет переменные в стиле UNIX, его не следует путать.Кроме того, тот факт, что он запрашивает пароль вместо использования моего ключа, показывает, что мой каталог .ssh
не найден.
Вот мои настройки.
- I 'Я вызываю мои скрипты из Git Bash, и, насколько я могу судить, SSH в моей системе - это тот, который установлен Git.Запуск
ssh
непосредственно из командной строки работает, как и ожидалось. - Я использовал Chocolatey для установки
rsync
. - Мой скрипт сборки находится на Python и работает на Python 3.7.
Есть идеи, что может происходить?