如何在git-ftp客户端上使用sftp?

时间:2017-05-13 13:50:51

标签: git ssh ftp sftp git-ftp

我正在尝试使用jenkins自动执行sftp上传和替换,以便sftp服务器上的文件夹等同于git存储库。这是使用sftp托管在openhift上运行的nginx,它只使用我已经使用他们的rhc客户端生成的ssh密钥支持ftp。我已经能够使用https://blog.openshift.com/using-filezilla-and-sftp-on-windows-with-openshift/上的说明使用filezilla轻松连接到sftp。

我发现最有用的时间效率是使用名为git-ftp的工具。

使用用户名,密码和ftp服务器域,ftp的步骤非常明确。我正在努力使用我的ssh键来做sftp。 这是我找到的一个站点,其中包含要使用的命令的最佳文档。 参考: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 个答案:

答案 0 :(得分:2)

过去使用SFTP和Git-ftp存在一些问题。你可能面对其中的一个或几个。

  1. 您需要使用--key选项提供SSH私钥。您使用的是其他选项。还要确保您还有一个公钥。

  2. SFTP默认采用服务器上的绝对路径。如果/app-root不在您服务器的根目录中,而是在您用户的主目录中,请尝试使用网址sftp://YOUR-FTP-SERVER-ADDRESS/~/app-root/...。我添加了~/

  3. 最后,如果您没有像Curl所期望的那样在已知主机文件中拥有服务器指纹,那么您需要添加它或使用{ {1}}旗帜。

  4. 最后,这里以current manual

    为例
    --insecure

答案 1 :(得分:1)

您可以尝试输入sftp protocol以及port:22作为

git ftp init --user USERNAME --passwd PASSWORD sftp://domain.com:22/public_html/path/to/website/

答案 2 :(得分:0)

如何首先尝试--vv参数来显示确切的错误?

git ftp init -u <openshiftsshtoken> --sftp-key ~/.ssh/id_rsa  sftp://YOUR-FTP-SERVER-ADDRESS/app-root/data/html/<foldertouploadto> -vv