GNU/Linux >> Znalost Linux >  >> Linux

„530 Neanonymní relace musí používat šifrování“ – při použití curl

Problém

„Neanonymní relace musí používat šifrování“ se objeví při spuštění příkazu curl jako uživatel 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

Funguje to však při spuštění stejného příkazu curl jako uživatel bez oprávnění 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.

Řešení

Přidat $LD_LIBRARY_PATH proměnná prostředí v /root/.bash_profile .

/usr/bin/curl hledá při hledání knihovny libcurl.so.4 adresář /apps/MATLAB/v81/bin/glnxa64/:

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

Za normálních okolností má /usr/bin/curl při hledání knihovny libcurl.so.4 hledat adresář /usr/lib64/:

# 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. Přidání proměnné prostředí $LD_LIBRARY_PATH do /root/.bash_profile ovlivní všechny aplikace běžící jako uživatel root, takže nejprve odstraňte LD_LIBRARY_PATH v /root/.bash_profile;

2. Poté při kompilaci matlabové aplikace zadejte run-time vyhledávací cestu, poraďte se prosím s dodavatelem aplikace matlab a zkontrolujte, zda existuje nějaký způsob, jak toho dosáhnout.

Nebo
Nastavte LD_LIBRARY_PATH při spouštění programu, například:

# LD_LIBRARY_PATH= ./app_test

"LD_LIBRARY_PATH=[PATH]b" se projeví pouze při spuštění výše uvedeného příkazu, neovlivní ostatní aplikace.


Linux
  1. Kontrola stavu webové stránky pomocí Curl?

  2. Jak nastavím curl, aby trvale používal proxy?

  3. Pomocí a ve smyčce Bash while

  1. provádění požadavků HTTP pomocí cURL (pomocí PROXY)

  2. Ubuntu:Pomocí curl ke stažení obrázku

  3. Použití / při použití cd

  1. Co je příkaz cURL a jak jej používat?

  2. Automatizace webových požadavků pomocí Curl?

  3. Použít více relací Byobu a ignorovat nesouvisející relace Tmux?