Saltar al contenido

¿Cómo habilitar el soporte SFTP en cURL?

Si encuentras algo que te causa duda puedes comentarlo y te ayudaremos lo más rápido posible.

Solución:

tienes que compilar curl primero con soporte sftp.

Descargue y descomprima la fuente curl. Después:

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 rules

busque y reemplace “–sin-libssh2” con “–con-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

Actualice los comandos con las versiones adecuadas, por supuesto. Más información aquí.

Si no puedes encontrar --without-libssh2 reemplazar con --with-libssh2 puedes buscar --without-ssl y adjuntar--with-libssh2probado con la versión curl 7.35.0 en Ubuntu 14.04.2

Respuesta personalizada de Frantique:

Descargue y descomprima la fuente curl. Después:

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

Encontrar --without-ssl y anexar --with-libssh2en mi caso, se ve así:

Antes

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

Despué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

Ahora construye los paquetes:

cd ..
sudo dpkg-buildpackage
cd ..

sudo dpkg -i curl_*.deb
sudo dpkg -i libcurl3_*.deb
sudo dpkg -i libcurl3-gnutls_*.deb

Aquí hay otro buen tutorial para su problema.

Más información sobre la respuesta de Frantique.

La respuesta de Frantique funcionó para mí; sin embargo, cuando intenté actualizar mi sistema, mi administrador de paquetes quería revertir la instalación a un curl que no tiene sftp/scp.

Para evitar tener que reinstalar curl con sftp/scp después de cada actualización:

sudo aptitude hold libcurl3
sudo aptitude hold libcurl3-gnutls

Use apt-mark si usa apt.

Lea esta página si desea obtener más información sobre cómo evitar actualizaciones de un paquete específico.

Tenga en cuenta que, eventualmente, es posible que alguna actualización futura no pueda avanzar hasta que elimine la retención.

Si por casualidad está utilizando PHP y necesita sftp en curl, debe consultar phpseclib, que podría ser mucho más fácil de instalar y mantener.

Eres capaz de añadir valor a nuestro contenido informacional cooperando tu veteranía en las aclaraciones.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : / /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *