Как использовать sftp на клиенте git-ftp?
Я пытаюсь использовать jenkins для автоматизации загрузки и замены sftp, чтобы папка на сервере sftp была равна хранилищу git. Это использует sftp, размещенный на openshift под управлением nginx, который поддерживает только ftp с использованием ключа ssh, который я уже сгенерировал с помощью их клиента rhc. Я смог легко подключиться к sftp с помощью filezilla, используя инструкции на https://blog.openshift.com/using-filezilla-and-sftp-on-windows-with-openshift/.
Я обнаружил, что наиболее полезным и эффективным по времени было бы использование инструмента под названием git-ftp.
Этапы довольно просты для FTP, используя имя пользователя, пароль и домен FTP-сервера. Я изо всех сил пытаюсь заставить это сделать sftp, используя мой ключ ssh. Вот сайт, который я нашел с лучшей документацией для команд для использования. Ссылка: http://manpages.ubuntu.com/manpages/trusty/man1/git-ftp.1.html.
Я следовал этому руководству, чтобы получить настройки автоматизации Jenkins https://www.savjee.be/2016/02/Use-Jenkins-and-git-ftp-to-deploy-website-to-shared-webhosting/. Однако, это не показывает команду для использования sftp.
Я использовал https://tohin.wordpress.com/2014/02/11/git-and-sftp/ чтобы попробовать несколько разных команд без особой удачи.
Предположительно, это работает только с ftp, давая имя пользователя, пароль и ftp сервер:
git ftp init --user USERNAME --passwd PASSWORD ftp://YOUR-FTP-SERVER-ADDRESS/path/to/website/
Я скорректировал мой, чтобы быть:
git ftp init -u <openshiftsshtoken> --sftp-key ~/.ssh/id_rsa sftp://YOUR-FTP-SERVER-ADDRESS/app-root/data/html/<foldertouploadto>
Но это вызывает у меня некоторые ошибки.
Я хочу сделать git ftp push после его инициализации и проверки работоспособности sftp. Например
git ftp push -u <openshiftsshtoken> --sftp-key ~/.ssh/id_rsa sftp://YOUR-FTP-SERVER-ADDRESS/app-root/data/html/<foldertouploadto>
Может ли кто-нибудь указать на ошибки, которые у меня есть?
3 ответа
Ты можешь попробовать войти sftp protocol
так же как port:22
как
git ftp init --user USERNAME --passwd PASSWORD sftp://domain.com:22/public_html/path/to/website/
В прошлом было несколько проблем с использованием SFTP с Git-ftp. Вы можете столкнуться с одним или несколькими из них.
Вам необходимо предоставить закрытый ключ SSH с
--key
вариант. Вы используете другой вариант. Также убедитесь, что у вас есть открытый ключ.SFTP предполагает абсолютные пути на сервере по умолчанию. Если
/app-root
находится не в корневом каталоге вашего сервера, а в домашнем каталоге вашего пользователя, а затем попробуйте URLsftp://YOUR-FTP-SERVER-ADDRESS/~/app-root/...
, я добавил~/
,И, наконец, если у вас нет отпечатка сервера в вашем известном файле hosts так же, как ожидал бы Curl, то вам нужно либо добавить его, либо использовать
--insecure
флаг.
Наконец, вот как пример из текущего руководства:
git ftp init -u "john" --key "$HOME/.ssh/id_rsa" "sftp://example.com/~/public_html"
Как насчет попробовать --vv
параметр первый, чтобы показать точную ошибку?
git ftp init -u <openshiftsshtoken> --sftp-key ~/.ssh/id_rsa sftp://YOUR-FTP-SERVER-ADDRESS/app-root/data/html/<foldertouploadto> -vv