Skip to content

Instantly share code, notes, and snippets.

@tafarij
Created April 22, 2017 13:05
Show Gist options
  • Star 26 You must be signed in to star a gist
  • Fork 7 You must be signed in to fork a gist
  • Save tafarij/e92755c7b5d853241c3f0790e2786c65 to your computer and use it in GitHub Desktop.
Save tafarij/e92755c7b5d853241c3f0790e2786c65 to your computer and use it in GitHub Desktop.
Install Pulse Secure on Ubuntu 16.04
# https://vt4help.service-now.com/kb_view_customer.do?sysparm_article=KB0010740#linux
wget https://secure.nis.vt.edu/resources/downloads/pulse-8.2R5.i386.deb
sudo dpkg –i pulse-8.2R5.i386.deb
/usr/local/pulse/PulseClient.sh install_dependency_packages
@lxchurbakov
Copy link

lxchurbakov commented Jul 26, 2017

I got stuck trying to install PulseClient on Linux Mint, because PulseClient.sh was trying to detect OS_TYPE using OSNAME=$(lsb_release -d | grep -o "Ubuntu")

I don't know where to post my workaround, so i put it here: Simply replace OSNAME=$(lsb_release -d | grep -o "Ubuntu") (310 loc) with OSNAME="Ubuntu" and UBUNTU_VER=$(lsb_release -d | grep -o '.[0-9]*\.'| head -1|sed -e 's/\s*//'|sed -e 's/\.//') (312 loc) with UBUNTU_VER=16 in PulseClient.sh

@ipstone
Copy link

ipstone commented Dec 18, 2017

Do we have a more current pulse secure client package, such as for 64 bit system? Thanks

@rummko
Copy link

rummko commented Feb 5, 2018

Hello, I have pulsesecure on Ubuntu (64bit),
and it was working before I updated ubuntu to 4.10 kernel version,
now i updated ubuntu to 4.13.
Something was changed, becouse I cannot get PulseSecure connected, when tried to authorize with password and MobilePass token.
(I pass right password and token, couse I tested on other machine on Win)

Did someone meet this problem?
Is there any ubuntu library I need to install?
Or I have to wait to new Pulsesecure version which will handle this new ubuntu kernels?

@AppleHolic
Copy link

AppleHolic commented Feb 8, 2018

Hello, I did get a same situation. So I did find the package is built on 32-bit environment. (So executable file in pulse program cannot link libstdc++ library)
In my case, I could use pulse secure installing this link.

After download this package, follow above commands.

And so, one more package was installed in my computer, libwebkit-gtk-1.0. You can install it with sudo apt-get install libwebkit-gtk-1.0.

After doing all, I could use pulse secure on ubuntu 16.04 64-bit desktop.

@rummko
Copy link

rummko commented Feb 9, 2018

Thank you @AppleHolic, I have installed this version, and I have libwebkit.

Now I have somethink with certificates.
Before I did not install any certificates:
20180209103254.85000 pulsesvc[p20239.t20289] dsssl.warn ssl_init : Failed to load CA certificates (DSSSLSock.cpp:1515)
20180209103254.158963 pulsesvc[p20239.t20289] dsssl.error verify_server_cert_callback : Certificate Verification Failed : error:unable to get local issuer certificate depth:0 errorno:20 (DSSSLSock.cpp:1588)

but I have openssl installed and the file:
-rw-r--r-- 1 root root 233394 sty 2 11:19 /etc/ssl/certs/ca-certificates.crt

@cbonami
Copy link

cbonami commented Feb 16, 2018

I did what AppleHolic suggested; still does not work
After filling in token, nothing happens (no connection).
On top of that, when I install the dependencies, I see this:

bonami@Neon:/usr/local/pulse$ sudo bash ./PulseClient_x86_64.sh install_dependency_packages
./PulseClient_x86_64.sh: line 287: [: =: unary operator expected
./PulseClient_x86_64.sh: line 289: [: =: unary operator expected
Checking for missing dependency packages ...

I am on KDE Neon Plasma, based on ubuntu 16.04; kernel : 4.13.0-32-generic

ANybody ?

@rummko
Copy link

rummko commented Feb 16, 2018

Hi cbonami, I have the same kernel, but with default window manager - not KDE.
look into logs in $HOME/.pulse_secure/pulse/pulsesvc.log, if you have the same problem with connection.

my logs throws error during pulse connection:
20180216110048.43305 pulsesvc[p16737.t16737] pulseui.error Proxy is not used/set (pulseUi.cpp:755)
20180216110050.348346 pulsesvc[p16737.t16737] pulseui.error Proxy is not used/set (pulseUi.cpp:755)
20180216110146.717972 pulsesvc[p20239.t20239] session.error proxy not found (session.cpp:395)
20180216110146.845383 pulsesvc[p20239.t20239] rmon.error Setting Best route 0 100a8c0 0 7fdf enp0s31f6 (routemon.cpp:1585)
20180216110146.845538 pulsesvc[p20239.t20239] ncp.error ncpEstablish for *** with context 0x13d3278 (ncp.cpp:550)
20180216110146.953844 pulsesvc[p20239.t17655] dsssl.error verify_server_cert_callback : Certificate Verification Failed : error:unable to get local issuer certificate depth:0 errorno:20 (DSSSLSock.cpp:1588)
20180216110146.954084 pulsesvc[p20239.t17655] dsssl.error SSL_connect failed. Error 1 (DSSSLSock.cpp:1834)
20180216110146.954163 pulsesvc[p20239.t17655] connect.error dshttp connect to *** failed with error 536875113 (ncp_dsssl.cpp:240)
20180216110146.954205 pulsesvc[p20239.t17655] main.error SSL connect failed. Error 536875113 (ncp.cpp:2026)
20180216110146.954262 pulsesvc[p20239.t17655] writer.error thread exit (ncp.cpp:2131)
20180216110146.954515 pulsesvc[p20239.t20239] sysdeps.error rename /etc/jnpr-nc-resolv.conf => /etc/resolv.conf failed wirh error 2 (sysdeps.cpp:978)
20180216110146.954542 pulsesvc[p20239.t20239] sysdeps.error rename /etc/jnpr-nc-hosts.bak => /etc/hosts failed wirh error 2 (sysdeps.cpp:982)
20180216110146.958343 pulsesvc[p20239.t20239] session.error Failed to execute command /sbin/ip6tables -D INPUT -j DROP -m comment --comment nc_client >/dev/null 2>/dev/null. DSSysCmd::executeAndWait returned 256. (session.cpp:1373)
20180216110146.961767 pulsesvc[p20239.t20239] session.error Failed to execute command /sbin/ip6tables -D OUTPUT -j DROP -m comment --comment nc_client >/dev/null 2>/dev/null. DSSysCmd::executeAndWait returned 256. (session.cpp:1380)
20180216110146.965413 pulsesvc[p20239.t20239] session.error Failed to execute command /sbin/ip6tables -D FORWARD -j DROP -m comment --comment nc_client >/dev/null 2>/dev/null. DSSysCmd::executeAndWait returned 256. (session.cpp:1387)

Anybody can tell what could be the reason?
I have not /etc/jnpr-nc-resolv.conf file although I have installed the netcat package.
any suggestions?

@jmuzz
Copy link

jmuzz commented Mar 14, 2018

Hey cbonami, that is the error mcfinley was talking about at the start of the thread. Use his fix it'll work for that.

@AnthonyWC
Copy link

Just to add that I followed this link which got me mostly there https://community.pulsesecure.net/t5/Pulse-Desktop-Clients/Fedora-27-webkitgtk-no-longer-supported/td-p/37559 although I still had to install other missing dependency library. Also I symlinked libwebp.so.6 to libwebp.so.7 (actual symlink to libwebp.so.7.x from various Fedora version seems no good).

@rubencabrera
Copy link

Searching brought me here but none of the above worked for me on Ubuntu 17.10, so I'll leave this here, based on this post.

I'll copy the post and add some notes in case the link breaks:

First off, you need to obtain the Pulse Secure client as a deb file from your network administrator. I have version 8.2R5.

For some reason the client does not list any dependencies when installing so you must install the needed (32 bit) libraries by hand (PulseClient.sh does not work without changes):

$ sudo apt install libwebkitgtk-1.0-0:i386 libdconf1:i386 dconf-gsettings-backend:i386

It is also necessary to include Pulse’s libraries in ld’s search patch (LD_LIBRARY_PATH). This is done by running this:
(Note that the linked post is missing the closing quotes):

$ echo "/usr/local/pulse" | sudo tee /etc/ld.so.conf.d/pulse.conf

The above instructions work for Ubuntu 16.04. 16.10, 17.04 and 17.10. In 17.04 and 17.10 you also need to install net-utils to get ifconfig
(the package name is actually net-tools):

$ sudo apt install net-tools

PulseClient.sh doesn't yield any errors for me now, I still have to test it against a VPN I have to get access to and will update if it doesn't work.

@hutber
Copy link

hutber commented Apr 20, 2018

@rubencabrera thanks for putting this together. I assume that pulse isn't an open source tool? I've struggled to find any deb online to be able to download this sadly.

@rubencabrera
Copy link

Hi @hutber, I'm afraid it's not open source, I ended up using another tool for the same reason, together with improved performance. Sadly, that tool is from an in-company repo and not open source either. You might want to try JuniperVPN (see http://mad-scientist.net/junipernc for 64 bit). If your company uses 2FA you better have an in-company repo or create it yourself.

@cardonator
Copy link

openconnect works really well with Pulse these days as long as you are using a typical setup. If you need a third party SAML integration then that's where you will run into some problems.

@david-romero
Copy link

Hi @mcfinley thanks for your gist. It's a great help.

I have an issue with the antivirus, when Host checker launchs an analysis, an error is thrown.

error1
error2
error3

@rubencabrera could you help me please?

@bliles
Copy link

bliles commented Aug 29, 2018

@david-romero you probably need to reach out to whoever manages your Pulse Secure endpoint. They're running a host checker on your system and it is looking for running AV software but isn't finding the required process.

@kuvaldini
Copy link

kuvaldini commented Jan 4, 2022

To install on Ubuntu xfce 16 x64 it was also required to

sudo apt install lib32z1 libc6-i386 libwebkitgtk-1.0-0:i386 libproxy1v5:i386 libproxy1-plugin-gsettings:i386 libproxy1-plugin-webkit:i386 libdconf1:i386 dconf-gsettings-backend:i386

The /usr/local/pulse/PulseClient.sh install_dependency_packages did nothing for me.

Finally run UI with sudo env LD_LIBRARY_PATH=/usr/local/pulse /usr/local/pulse/pulseUi

Hooray!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment