GNU/Linux >> Tutoriels Linux >  >> Linux

"530 sessions non anonymes doivent utiliser le cryptage" - lors de l'utilisation de curl

Le problème

"Les sessions non anonymes doivent utiliser le chiffrement" se produit lors de l'exécution de la commande curl en tant qu'utilisateur 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

Cependant, cela fonctionne lors de l'exécution de la même commande curl en tant qu'utilisateur non 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 solution

Ajouter $LD_LIBRARY_PATH variable d'environnement dans /root/.bash_profile .

/usr/bin/curl recherche le répertoire /apps/MATLAB/v81/bin/glnxa64/ lors de la recherche de la bibliothèque 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)

Dans des circonstances normales, /usr/bin/curl est censé rechercher le répertoire /usr/lib64/ lors de la recherche de la bibliothèque 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. L'ajout de la variable d'environnement $LD_LIBRARY_PATH dans /root/.bash_profile aura un impact sur toutes les applications exécutées en tant qu'utilisateur root, donc supprimez d'abord LD_LIBRARY_PATH dans /root/.bash_profile ;

2. Ensuite, spécifiez le chemin de recherche d'exécution lors de la compilation de l'application matlab, veuillez consulter le fournisseur de l'application matlab et vérifiez s'il existe un moyen d'y parvenir.

Ou
Définissez LD_LIBRARY_PATH lors de l'exécution du programme, par exemple :

# LD_LIBRARY_PATH= ./app_test

"LD_LIBRARY_PATH=[PATH]b" ne prend effet que lors de l'exécution de la commande ci-dessus, cela n'aura pas d'impact sur les autres applications.


Linux
  1. Automatiser les requêtes Web à l'aide de Curl ?

  2. Bilan de santé de la page Web à l'aide de Curl ?

  3. Utiliser curl pour envoyer des e-mails

  4. Utilisation du certificat client dans la commande Curl

  5. Erreur lors de l'utilisation d'une version plus récente de la glibc

Utilisation de Curl pour effectuer des requêtes API REST

Enregistrer des sessions de terminal à l'aide d'Asciinema sous Linux

Comment utiliser Ansible pour envoyer un e-mail avec Gmail

Comment enregistrer des sessions de terminal Linux à l'aide d'Asciinema

Comment utiliser la commande DD et comment graver ISO en l'utilisant

Comment utiliser CURL comme un pro sous Linux