I would like to use GIT Bash to upload files on server. I am using msysgit for Windows.
FTP upload is ok, but sftp not working.
git ftp init --verbose
gives me error: sftp not supported or disabled in libcurl
I was trying to install libssh2 to Cygwin with this reference http://docs.oracle.com/cd/E24628_01/install.121/e22624/preinstall_req_cygwin_ssh.htm#EMBSC150
But error still ocured. I don't know if I must install something directly to GIT Bash or what can I do else?
Thank you for any advices.
Edit: I updated msysgit and other software, now I just don't know how to get certificate from the server. From WinSCP I use only accept fingerprint and that was it.
curl -v --insecure sftp://user:password@xxx.com
curl: (67) Authentication failure
I saw here https://github.com/git-ftp/git-ftp/issues/124 that I can use another key instead of my default. But I don't know how to get that key from server.
Make sure you are not using git with Cygwin or the old and obsolete msysgit 1.9.x version.
With the new git for windows, sftp
should be supported:
C:\Users\vonc\prog\seec>c:\prgs\git\PortableGit-2.6.1-64-bit\usr\bin\curl.exe -V
curl 7.44.0 (x86_64-pc-msys) libcurl/7.44.0 OpenSSL/1.0.2d zlib/1.2.8 libidn/1.32 libssh2/1.6.0
Protocols: dict file ftp ftps gopher http https imap imaps pop3 pop3s rtsp scp sftp smb smbs smtp smtps telnet tftp
Features: Debug IDN IPv6 Largefile NTLM NTLM_WB SSL libz TLS-SRP UnixSockets Metalink
This project which needs sftp requires only user and password without any certificate file
True, no need for an ssl certificate with sftp, simply make there is no key in 'C:\Users\xxx/.ssh/id_rsa(.pub)
'
From WinSCP I use only accept fingerprint and that was it.
That could be the issue: the known_host
must have the remote server fingerprint. See for instance my script or this blog post:
To get a look at the server’s public key fingerprint before attempting a connection, one can utilize the
ssh-keyscan
program
ssh-keyscan -t ecdsa host.example.org > tmp
ssh-keygen -lf tmp
256 03:ed:6d:1f:ff:56:9d:5f:f3:65:20:b5:ad:55:55:87 host.example.org (ECDSA)
Here the
-t
is for type of key to be scanned (which can be rsa1 for protocol version 1, dsa, ecdsa, ed25519, or rsa for protocol version 2).
The output is redirected to a temporary file namedtmp
, then the file is checked with thessh-keygen
program.Once client has verified the fingerprint, it will store a copy of the server’s public key in
$HOME/.ssh/known_hosts
and will check the stored key on subsequent connections to that host.
If the server has changed its keys, or another machine is attempting to spoof the real server, the client will notice and will not allow connections to that host.