I was trying use git-ftp for deplyment via SFTP.
1) default git-ftp does not support sftp, so I use some updated image with madshansen/docker-git-ftp:latest with libssh2 and some specific version of curl
2) at the pipeline configuration, I create SSH key, if I understand, the path to the key is ~/.ssh/config
3) at the yaml file I have this script:
git ftp push --auto-init --insecure -vv -u $USERNAME --key ~/.ssh/config sftp://$SERVER --remote-root /var/www/doman.tld
git-ftp return:
+ git ftp push --auto-init --insecure -vv -u $USERNAME --key ~/.ssh/config sftp://$SERVER --remote-root /var/www/
Mon Sep 14 17:45:42 UTC 2020: git-ftp version 1.3.3 running on Linux 6936dbbe-64ba-44d4-a3d2-8b0d52b4796c-fhcj8 4.19.128-flatcar #1 SMP Tue Jun 16 10:17:17 -00 2020 x86_64 x86_64 x86_64 GNU/Linux
Mon Sep 14 17:45:42 UTC 2020: Auto init if needed.
Mon Sep 14 17:45:42 UTC 2020: Insecure SSL/TLS connection allowed
Mon Sep 14 17:45:42 UTC 2020: Host is 'domain.tld'.
Mon Sep 14 17:45:42 UTC 2020: User is 'disruptive'.
Mon Sep 14 17:45:42 UTC 2020: No password is set.
Mon Sep 14 17:45:42 UTC 2020: Using ssh private key file /root/.ssh/config
Mon Sep 14 17:45:42 UTC 2020: Using ssh public key file /root/.ssh/config.pub
Mon Sep 14 17:45:42 UTC 2020: Path is '/var/www/'.
Mon Sep 14 17:45:42 UTC 2020: Syncroot is ''.
Mon Sep 14 17:45:42 UTC 2020: The remote sha1 is saved in file '.git-ftp.log'.
Mon Sep 14 17:45:42 UTC 2020: CACert is ''.
Mon Sep 14 17:45:42 UTC 2020: Insecure is '1'.
Mon Sep 14 17:45:42 UTC 2020: Retrieving last commit from sftp://disruptive:***@domain.tld//var/www/.
* Trying 0.159.135.70...
* TCP_NODELAY set
* Connected to domain.tld (0.159.135.70) port 22 (#0)
* SSH MD5 fingerprint: *******
* SSH authentication methods available: publickey
* Using SSH public key file '/root/.ssh/config.pub'
* Using SSH private key file '/root/.ssh/config'
* SSH public key authentication failed: Unable to open public key file
* Failure connecting to agent
* Authentication failure
* Closing connection 0
curl: (67) Authentication failure
Mon Sep 14 17:45:43 UTC 2020: Check if sftp://disruptive:***@domain.tld is accessible.
* Trying 0.159.135.70...
* TCP_NODELAY set
* Connected to domain.tld (18.159.135.70) port 22 (#0)
* SSH MD5 fingerprint: *******
* SSH authentication methods available: publickey
* Using SSH public key file '/root/.ssh/config.pub'
* Using SSH private key file '/root/.ssh/config'
* SSH public key authentication failed: Unable to open public key file
* Failure connecting to agent
* Authentication failure
* Closing connection 0
curl: (67) Authentication failure
Mon Sep 14 17:45:44 UTC 2020: fatal: Can't access remote 'sftp://disruptive:***@domain.tld
In the end, it looks that parameter --pubkey is required and the private key is not readable from bitbuckeg path .ssh/config or it is in a different format.
With pem and pub generate via ssh-keygenit it works.
Hello @Ladislav Janeček,
I can see you had a support request open for this same issue (BBS-146071) that has been closed on the 9th of October for no reply, after the below message was sent to you:
In this case, would it be possible for you to try to use the below path for the private SSH key on Pipelines?
/opt/atlassian/pipelines/agent/ssh/id_rsagit ftp push --auto-init --insecure -vv -u $USERNAME --key /opt/atlassian/pipelines/agent/ssh/id_rsa sftp://$SERVER --remote-root /var/www/doman.tld
If the issue still persists, try to add your credentials as part of the .git/config file on Pipelines.
Reference: https://github.com/git-ftp/git-ftp/issues/313#issuecomment-271265267Let me know how it goes, Ladislav.
Can you kindly clarify whether this solved your issue or if further help is needed?
Cheers,
Dario
Hello, yes, the problem was solved, thank you.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Thanks a lot for confirming @Ladislav Janeček .
Enjoy the weekend! :)
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.