sslh accepts HTTPS, SSH and OpenVPN connections on the same port. This makes it possible to connect to an SSH server or an OpenVPN on port 443 (e.g. from inside a corporate firewall, which almost never block port 443) while still serving HTTPS on that port. or in other words ,

it is a simple script that lets you switch an incoming connection on a single port between distinct SSH and SSL/HTTPS servers. it listens for connections on a port and is able to redirect them either to an HTTPS web server or a SSH server. This lets one setup both a HTTPS web server and a SSH server and access them through the same host+port.

sslh accepts connections in HTTP, HTTPS, SSH, OpenVPN, tinc, XMPP, or any other protocol that can be tested using a regular expression, on the same port. This makes it possible to connect to any of these servers on port 443 while still serving HTTPS on that port.



sslh [-v] [-i] [-V] [-f] [-n] [-F <file>] [-t <timeout>] [-P <pidfile>] -u <username> -p <add> [-p <addr> …] [–ssh <addr>] [–openvpn <addr>] [–tinc <addr>] [–xmpp <addr>] [–http <addr>] [–ssl <addr>] [–tls <addr>] [–anyprot <addr>]


-v: verbose
-V: version
-f: foreground
-n: numeric output
-F: use configuration file
--on-timeout: connect to specified address upon timeout (default: ssh address)
-t: seconds to wait before connecting to --on-timeout address.
-p: address and port to listen on.
    Can be used several times to bind to several addresses.
--[ssh,ssl,...]: where to connect connections from corresponding protocol.
-F: specify a configuration file
-P: PID file.
-i: Run as a inetd service.


cyborg@cyborg:/$ sudo sslh --listen --ssh --ssl
[sudo] password for cyborg:

Leave a reply


We're are building as a community and a team. Be a part of it.


©2018 Ztrela Knowledge Solutions Pvt. Ltd

Log in with your credentials

Forgot your details?