How can I install and setup a fortinet SSL VPN client on a VPS that's running on Centos? I have problem to do it because all guide I have are all using GUI which is not installed on the VPS to save resource. (example: http://dbssolutions.freshdesk.com/solution/categories/1513/folders/3047/articles/1791-how-to-install-the-linux-fortinet-ssl-vpn-client)

I already have the linux version for the vpn client but not sure how to install and configure it only using the terminal.

  • @ben where did you get the cli client? i've download 2 different versions from fortinet support but none of them have cli support forticlientsslvpn_linux_4.0.2010.tar.gz forticlientsslvpn_linux_4.0.2012.tar.gz – gfa Mar 25 '13 at 15:29
  • just install xterm and requiered libraries on the vps and run the client with X over ssh (ssh -X user@host) – gfa Mar 25 '13 at 15:30
  • If there is a way to install .deb packages in CentOS, hadler.me/linux/forticlient-sslvpn-deb-packages – Jaime Hablutzel Mar 8 '17 at 0:26
  • 1
    Possible duplicate of Connect to a Fortinet VPN with Ubuntu – GypsyCosmonaut Jan 20 at 12:25

I spent a while trying to find documentation on this, and got this from a Fortinet Engineer.

  1. Install like any other using tar.gz file Then run below command in linux CLI
  2. Then run below command in linux CLI

./forticlientsslvpn_cli --server --vpnuser forti

Make sure the command run from the sslvpn directory. Substitute the IP address with the one of your server .


Coded some Expect script like this:

spawn /opt/local/forticlientsslvpn/64bit/forticlientsslvpn_cli --server vpn_host:port --vpnuser user1
expect "Password for VPN:"
send "password\r"
#expect "*(Y/N)"
#send "Y\r"

You can try to configure your VPN without the Fortinet GUI. Here's a complete guide to IPSEC for linux http://www.ipsec-howto.org/ and you may want to try this:

The link is created by running pppd through a pseudo terminal that is created by pty-redir and connected to ssh. This is done with something similar to the following sequence of commands:

/usr/sbin/pty-redir /usr/bin/ssh -t -e none -o 'Batchmode yes' -c blowfish -i /root/.ssh/identity.vpn -l joe > /tmp/vpn-device
sleep 10

/usr/sbin/pppd `cat /tmp/vpn-device`
sleep 15

/sbin/route add -net gw vpn-internal.mycompany.com netmask
/sbin/route add -net gw vpn-internal.mycompany.com netmask

What this does is run ssh, redirecting the input and output to pppd. The options passed to ssh configure it to run without escape characters (-e), using the blowfish crypto algorithm (-c), using the identity file specified (-i), in terminal mode (-t), with the options 'Batchmode yes' (-o). The sleep commands are used to space out the executions of the commands so that each can complete their startup before the next is run.

From "Bring up the link"

Next section, "Scripting" may help you as well to configure and run your VPN client. There's additional information in the ubuntu documentation.

  • Your answer is fine except OP was talking about SSL VPN (!IPSEC), have an upvote anyway! – Shadok Jan 21 '13 at 15:38

This is another short solution. Download & Install the client:

# wget -q http://kb.arubacloud.com/files/tar-gz/forticlientsslvpn_linux_4-0-2281-tar.aspx -O fortisslvpn.tgz && tar -xzf fortisslvpn.tgz
# cd forticlientsslvpn && ./helper/setup.linux.sh

Press Ctrl+C, Agree Their License (1st time only) & then connect to VPN by:

# yes | ./forticlientsslvpn_cli --server example_firewall_host:10443 --vpnuser example_user > /dev/null
  • 1
    Is the referenced package the official package or has it been modified?. – Jaime Hablutzel Mar 8 '17 at 0:29

protected by Community Dec 12 '16 at 15:07

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.