Как использовать 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. Вы можете столкнуться с одним или несколькими из них.

  1. Вам необходимо предоставить закрытый ключ SSH с --key вариант. Вы используете другой вариант. Также убедитесь, что у вас есть открытый ключ.

  2. SFTP предполагает абсолютные пути на сервере по умолчанию. Если /app-root находится не в корневом каталоге вашего сервера, а в домашнем каталоге вашего пользователя, а затем попробуйте URL sftp://YOUR-FTP-SERVER-ADDRESS/~/app-root/..., я добавил ~/,

  3. И, наконец, если у вас нет отпечатка сервера в вашем известном файле 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
Другие вопросы по тегам