GNU/Linux >> LINUX-Kenntnisse >  >> Linux

„530 Nicht anonyme Sitzungen müssen Verschlüsselung verwenden“ – bei der Verwendung von curl

Das Problem

„Nicht anonyme Sitzungen müssen Verschlüsselung verwenden“ tritt auf, wenn der Curl-Befehl als Root-Benutzer ausgeführt wird:

# 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

Es funktioniert jedoch, wenn derselbe Curl-Befehl als Nicht-Root-Benutzer ausgeführt wird:

# 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.

Die Lösung

Fügen Sie $LD_LIBRARY_PATH hinzu Umgebungsvariable in /root/.bash_profile .

/usr/bin/curl sucht nach dem Verzeichnis /apps/MATLAB/v81/bin/glnxa64/ bei der Suche nach der Bibliothek 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)

Unter normalen Umständen sollte /usr/bin/curl bei der Suche nach der Bibliothek libcurl.so.4 nach dem Verzeichnis /usr/lib64/ suchen:

# 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. Das Hinzufügen der Umgebungsvariable $LD_LIBRARY_PATH in /root/.bash_profile wirkt sich auf alle Anwendungen aus, die als Root-Benutzer ausgeführt werden, also entfernen Sie zuerst LD_LIBRARY_PATH in /root/.bash_profile;

2. Geben Sie dann beim Kompilieren der Matlab-Anwendung den Laufzeit-Suchpfad an. Wenden Sie sich bitte an den Anwendungsanbieter matlab und prüfen Sie, ob es eine Möglichkeit gibt, dies zu erreichen.

Oder
Setzen Sie LD_LIBRARY_PATH beim Ausführen des Programms, zum Beispiel:

# LD_LIBRARY_PATH= ./app_test

"LD_LIBRARY_PATH=[PATH]b" wird nur wirksam, wenn der obige Befehl ausgeführt wird, es hat keine Auswirkungen auf andere Anwendungen.


Linux
  1. Automatisieren von Webanfragen mit Curl?

  2. Integritätsprüfung der Webseite mit Curl?

  3. Verwenden Sie mehrere Byobu-Sitzungen, während Sie nicht zusammenhängende Tmux-Sitzungen ignorieren?

  4. Verwenden Sie PowerShell, um die schwache Verschlüsselung zu deaktivieren

  5. Wie richte ich curl ein, um dauerhaft einen Proxy zu verwenden?

Verwenden von Curl zum Erstellen von REST-API-Anforderungen

Zeichnen Sie Terminalsitzungen mit Asciinema in Linux auf

So verwenden Sie Ansible zum Senden einer E-Mail mit Google Mail

So zeichnen Sie Linux-Terminalsitzungen mit Asciinema auf

Wie man den DD-Befehl verwendet und wie man ISO damit brennt

So verwenden Sie CURL wie ein Profi unter Linux