GNU/Linux >> Tutoriales Linux >  >> Linux

“530 Las sesiones no anónimas deben usar encriptación” – mientras usa curl

El problema

"Las sesiones no anónimas deben usar cifrado" ocurre cuando se ejecuta el comando curl como usuario root:

# curl -v -k --ftp-ssl --ftp-pasv ftp://192.168.X.X:990/ --user hcpa:XXX
* About to connect() to 192.168.X.X port 990 (#0)
* Trying 192.168.X.X... connected
* Connected to 192.168.X.X (192.168.X.X) port 990 (#0)
< 220 FTP SERVER INFOVALMER.
> USER hcpa
< 530 Non-anonymous sessions must use encryption.
* Access denied: 530
* Closing connection #0
curl: (67) Access denied: 530

Sin embargo, funciona cuando se ejecuta el mismo comando curl como usuario no root:

# exit
logout
# su - testuser
$ curl -v -k --ftp-ssl --ftp-pasv ftp://192.168.X.X:990/ --user hcpa:XXX
* About to connect() to 192.168.10.1 port 990 (#0)
* Trying 192.168.X.X... connected
* Connected to 192.168.X.X (192.168.X.X) port 990 (#0)
< 220 FTP SERVER INFOVALMER.
> AUTH SSL
< 234 Proceed with negotiation.
* Initializing NSS with certpath: /etc/pki/nssdb
* warning: ignoring value of ssl.verifyhost
* skipping SSL peer certificate verification
* NSS: client certificate not found (nickname not specified)
* SSL connection using SSL_RSA_WITH_3DES_EDE_CBC_SHA
* Server certificate:
* subject: ,CN=ftp-infovalmer,OU=VALORADOR,O=INFOVALMER,L=BOGOTA,ST=CUNDINAMARCA,C=CO
* start date: sep 10 22:11:55 2015 GMT
* expire date: sep 09 22:11:55 2018 GMT
* common name: ftp-infovalmer
* issuer: @ ,CN=ftp-infovalmer,OU=VALORADOR,O=INFOVALMER,L=BOGOTA,ST=CUNDINAMARCA,C=CO
> USER hcpa
< 331 Please specify the password.
> PASS XXX
< 230 Login successful.

La solución

Agregar $LD_LIBRARY_PATH variable de entorno en /root/.bash_profile .

/usr/bin/curl busca el directorio /apps/MATLAB/v81/bin/glnxa64/ cuando busca la biblioteca libcurl.so.4:

# ldd /usr/bin/curl
linux-vdso.so.1 => (0x00007fffc9f7d000)
libcurl.so.4 => /apps/MATLAB/v81/bin/glnxa64/libcurl.so.4 (0x00007f291de7b000) <-----
libidn.so.11 => /lib64/libidn.so.11 (0x0000003201600000)
libldap-2.4.so.2 => /lib64/libldap-2.4.so.2 (0x00000033afc00000)
librt.so.1 => /lib64/librt.so.1 (0x00000033ab400000)
libgssapi_krb5.so.2 => /lib64/libgssapi_krb5.so.2 (0x00000032bba00000)
libkrb5.so.3 => /lib64/libkrb5.so.3 (0x00000032bc200000)

En circunstancias normales, se supone que /usr/bin/curl busca el directorio /usr/lib64/ cuando busca la biblioteca libcurl.so.4:

# ldd /usr/bin/curl
linux-vdso.so.1 => (0x00007fff8dbe1000)
libcurl.so.4 => /usr/lib64/libcurl.so.4 (0x00000033ac400000) <-----
libidn.so.11 => /lib64/libidn.so.11 (0x0000003201600000)
libldap-2.4.so.2 => /lib64/libldap-2.4.so.2 (0x00000033afc00000)
librt.so.1 => /lib64/librt.so.1 (0x00000033ab400000)
libgssapi_krb5.so.2 => /lib64/libgssapi_krb5.so.2 (0x00000032bba00000)
libkrb5.so.3 => /lib64/libkrb5.so.3 (0x00000032bc200000)

1. La adición de la variable de entorno $LD_LIBRARY_PATH en /root/.bash_profile afectará a todas las aplicaciones que se ejecutan como usuario raíz, por lo tanto, primero elimine LD_LIBRARY_PATH en /root/.bash_profile;

2. Luego, especifique la ruta de búsqueda en tiempo de ejecución al compilar la aplicación matlab, consulte con el proveedor de la aplicación matlab y verifique si hay alguna forma de lograr esto.

O
Establecer LD_LIBRARY_PATH al ejecutar el programa, por ejemplo:

# LD_LIBRARY_PATH= ./app_test

"LD_LIBRARY_PATH=[PATH]b" solo tiene efecto cuando se ejecuta el comando anterior, no afectará a otras aplicaciones.


Linux
  1. ¿Qué es un comando cURL y cómo usarlo?

  2. ¿Comprobación del estado de la página web con Curl?

  3. ¿Cómo configuro curl para usar permanentemente un proxy?

  4. Usando curl para enviar correo electrónico

  5. Ubuntu:usar curl para descargar una imagen

Uso de Curl para realizar solicitudes de API REST

Grabar sesiones de terminal usando Asciinema en Linux

Cómo usar Ansible para enviar un correo electrónico usando Gmail

Cómo grabar sesiones de terminal de Linux usando Asciinema

Cómo usar el comando DD y cómo grabar ISO usándolo

Cómo usar CURL como un profesional en Linux