J'ai installé curl-7.27.0 et ça marche très bien, même si ça ne marche pas, on l'exécute en-dessous de la commande pour savoir s'il est maintenant, mais cela montrait que:
root @ ubuntu: ~/curl-7.27.0 # curl -V
curl 7.21.6 (i686-pc-linux-gnu) libcurl/7.21.6 OpenSSL/1.0.0e zlib/1.2.3.4 libidn/1.22 librtmp/2.3
Protocoles: fichier dict ftp ftps Gopher http https imap imaps ldap pop3 pop3s rtmp rtsp smtp smtps telnet tftp
Caractéristiques: NSS SSL Liberty NTN IPv6 Largefile Négocier avec le GSS
Vous devez d'abord compiler curl
avec le support sftp.
Téléchargez et décompressez la source curl. Après ça:
Sudo apt-get install build-essential debhelper libssh2-1-dev Sudo apt-get source libcurl3 Sudo apt-get build-dep libcurl3 cd curl-x.xx.x/debian nano règles
trouver et remplacer "--without-libssh2" par "--with-libssh2"
cd .. Sudo dpkg-buildpackage cd .. Sudo dpkg -i curl_xxxxx .deb Sudo dpkg -i libcurl3_xxxx.deb Sudo dpkg -i libcurl3-gnutls_xxxx.deb
Mettez à jour les commandes avec les versions adéquates, bien sûr. Plus d'infos ici .
Si vous ne trouvez pas --without-libssh2
à remplacer par --with-libssh2
, vous pouvez rechercher --without-ssl
et append --with-libssh2
, testé avec curl Version . ) 7.35.0 sur Ubuntu 14.04.2
Réponse personnalisée de Frantique:
Téléchargez et décompressez la source curl. Après ça:
Sudo apt-get install build-essential debhelper libssh2-1-dev
Sudo apt-get source libcurl3
Sudo apt-get build-dep libcurl3
cd curl-*/debian
nano rules
Trouvez --without-ssl
et ajoutez --with-libssh2
, dans mon cas, cela ressemble à ceci:
Avant
cd debian/build && dh_auto_configure ${CONFIGURE_ARGS} \
--with-ca-path=/etc/ssl/certs
cd debian/build-gnutls && dh_auto_configure ${CONFIGURE_ARGS} \
--with-ca-bundle=/etc/ssl/certs/ca-certificates.crt \
--without-ssl --with-gnutls
cd debian/build-nss && dh_auto_configure ${CONFIGURE_ARGS} \
--with-ca-bundle=/etc/ssl/certs/ca-certificates.crt \
--without-ssl --with-nss
Après
cd debian/build && dh_auto_configure ${CONFIGURE_ARGS} \
--with-ca-path=/etc/ssl/certs --with-libssh2
cd debian/build-gnutls && dh_auto_configure ${CONFIGURE_ARGS} \
--with-ca-bundle=/etc/ssl/certs/ca-certificates.crt \
--without-ssl --with-gnutls --with-libssh2
cd debian/build-nss && dh_auto_configure ${CONFIGURE_ARGS} \
--with-ca-bundle=/etc/ssl/certs/ca-certificates.crt \
--without-ssl --with-nss --with-libssh2
Maintenant, construisez les paquets:
cd ..
Sudo dpkg-buildpackage
cd ..
Sudo dpkg -i curl_*.deb
Sudo dpkg -i libcurl3_*.deb
Sudo dpkg -i libcurl3-gnutls_*.deb
Voici un autre bon tutoriel pour votre problème.
Plus d'infos sur la réponse de Frantique.
La réponse de Frantique a bien fonctionné pour moi. Cependant, lorsque j'ai essayé de mettre à niveau mon système, mon gestionnaire de paquets a voulu rétablir l'installation de Curl qui ne dispose pas de sftp/scp.
Pour éviter de réinstaller curl avec sftp/scp après chaque mise à niveau:
Sudo aptitude hold libcurl3
Sudo aptitude hold libcurl3-gnutls
Utilisez apt-mark si vous utilisez apt.
Lisez cette page si vous voulez plus d’informations sur la prévention des mises à jour d’un paquet spécifique.
Notez que, par la suite, une mise à niveau future risque de ne pas pouvoir avancer tant que vous n'avez pas supprimé la suspension.
Si par hasard vous utilisez PHP et avez besoin de sftp in curl - vous devriez vérifier phpseclib qui pourrait être beaucoup plus facile à installer et à maintenir.
Voici comment construire curl avec le support libssl pour Ubuntu 18.04. C'EST:
Sudo apt-get install build-essential debhelper libssh-dev
Sudo apt-get source curl
Sudo apt-get build-dep curl
cd curl-*
Téléchargez le correctif et corrigez le debian/rules
:
wget https://bugs.launchpad.net/ubuntu/+source/curl/+bug/311029/+attachment/5234644/+files/ubuntu_libssl.patch
Sudo patch debian/rules < /ubuntu_libssl.patch
Ou en alternative remplacer dans le fichier le debian/rules
:
CONFIGURE_ARGS += --without-libssh2`
avec
CONFIGURE_ARGS += --with-libssh2
Ensuite, construisez et installez les paquets:
Sudo dpkg-buildpackage -uc -us
# -us Do not sign the source package.
# -uc Do not sign the .changes file.
cd ..
Sudo dpkg -i curl_*.deb
Sudo dpkg -i libcurl3-*.deb
Sudo dpkg -i libcurl3-gnutls_*.deb
Sudo apt-mark hold curl
Sudo apt-mark hold libcurl3
Sudo apt-mark hold libcurl3-gnutls
# Sudo apt-mark unhold <package-name>
J'espère que ça aide quelqu'un.