Skip to content
HomeVideosBooksBlogs
AllTop postsTopics
Podcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    Y

    Yves Rutschle

    rutschle.net · Personal blog · on HN since 2010

    Yves Rutschle writes about his small tools, mainly sslh, which lets HTTPS, SSH and other protocols share one port.

    Visit blogRSSHN submissions
    NetworkingOpen Source & Linux
    What HN says

    HN commenters recommend sslh as a port multiplexer, though one notes that its use is visible to anyone watching the connection.

    Stats for nerds
    21HN people shared it
    4linked in comments
    129story points
    Dec 2023last shared
    2010people per year2023

    Top posts on HN

    1. 1
      The truth about C and Unix history
      1 person · 119 points · first shared 2015 · 77 comments on HN
    2. 2
      SSLH – Access https and ssh from the same port
      15 people · 10 points · first shared 2010 · 2 comments on HN
    3. 3
      README
      4 people · first shared 2019
    4. 4
      2012 April 000202
      1 person · first shared 2012
    5. 5
      Sslh
      1 person · first shared 2021

    What HN people wrote when they linked it

    • guylhemAug 2012

      This is interesting but incomplete. It may not survive to deep packet inspection or rate limiting. Even worse - your only S3 machine could get blacklisted, and I don't see why operators wouldn't share blacklist the way it's done to fight spam.

      So my suggestion is to have multiple alternatives instead, as in lines of defense.

      First, a simple SSH server also running a socks and a http proxy is useful. Easy to reach and configure - some browser work better with http proxy (or was it sock? Opera only supports one but I can't remember which at the moment)

      In the second line, you want to run the SSH server on a nonstandard port as the author does. I suggest multiplexing the port : simply run SSLH on both port 80 and 443, with the patch published on http://rutschle.net/pipermail/sslh/2012-April/000202.html

      But that will not look like a standard SSL connection. Even worse, if you use your own certificate - operators could deny all self-signed certificates.

      So get stunnel running on port 443 with a "usual" certificate instead, and pass the traffic on port 80 where you'll be happy to have SSLH or whatever you prefer - like Openvpn which can do port sharing or which can be put "behind" stunnel and sslh, so that you will use a standard 443 port, and do a genuine SSL connection on that port. Much better. Have some fun with burst.net - they offer you 2 IP for like $7/month : you can do some routing and give the 2nd IP address to your laptop on the other end of the tunnel. Now that is…

    • AceJohnny2Jan 2015

      > apt-cache search ssh http
      [...]
      sslh - ssl/ssh multiplexer
      http://www.rutschle.net/tech/sslh.shtml

      I mean, it's cool that you got the exercise of implementing this in Go and all, but I don't see what's new and interesting about it.

      (and another implementation in Perl almost 4 years ago: https://news.ycombinator.com/item?id=2395787)

      Edit: oh whoops, didn't get to OP's "Why not sslh" section :\ "The result is useful in its own right through use of Go's interfaces for protocol matching (making adding new protocols trivial), and lightweight goroutines (instead of forking, which is more CPU intensive under load)."

      Well alright, the first point I'll concede, though I'm wary of the "reinvented wheel" scent, the second point I'm even more uncomfortable with as I think it makes wild assumptions of the kind of environment this tool could be useful in.

    • peterwwillisSep 2012

      If they're proxying HTTP traffic usually they'll block SSH and other protocols. To work around this use an HTTPS/SSH multiplexer[1][2][3] or a simple reverse proxy to accept HTTP[S] connections and connect them to an SSH server on the backend. For the ssh client use a ProxyCommand tunneling app[4][5][6] to turn an HTTP[S] proxy request into a two-way socket, and you have an SSH connection over HTTP proxies.

      [1] http://www.rutschle.net/tech/sslh.shtml
      [2] http://www.pond-weed.com/multiplex/
      [3] https://github.com/stealth/sshttp
      [4] http://zwitterion.org/software/ssh-https-tunnel/ssh-https-tunnel
      [5] http://proxytunnel.sourceforge.net/
      [6] http://www.agroman.net/corkscrew/

    • fluidcruftJan 2015

      sslh [1] (which is packaged and included in may linux and BSD distributions) has grown to support HTTP, SSL, SSH, OpenVPN, tinc, XMPP from the same port. It claims it can be extended to filter anything that can match with a regex.

      What I find lacking lately is I've mostly wanted to extend the forwarding/routing of ssh connections based on username (or better by identity) to different VMs or hosts, but I have no idea how to achieve that at the moment (without creating dummy users on the sshd server).

      [1] http://www.rutschle.net/tech/sslh.shtml

      Github: https://github.com/yrutschle/sslh

    • 28304283409234Dec 2023

      No love for sslh?

      “ Probes for HTTP, TLS/SSL (including SNI and ALPN), SSH, OpenVPN, tinc, XMPP, SOCKS5, are implemented, and any other protocol that can be tested using a regular expression, can be recognised. A typical use case is to allow serving several services on port 443 (e.g. to connect to SSH from inside a corporate firewall, which almost never block port 443) while still serving HTTPS on that port.”

      https://www.rutschle.net/tech/sslh/README.html

    • icebrainingJan 2019

      > if the server is also hosting some https website, then put it on an alternate ipv6 address (they are free if not cheap) and ssh into that.

      There's also sslh, which can multiplex the same port by detecting whether the incoming connection is TLS or SSH, and forwarding appropriately. It's pretty cool: https://www.rutschle.net/tech/sslh/README.html

      That said, I think this service is for people who need to use computers without ssh clients installed locally.

    Related

    Ian Wienandtechnovelty.org16 people

    What actually happens when you plug in a USB device? (2007)

    Ian Wienand
    Personal · last shared 2022
    Vincent Bernatvincent.bernat.ch97 people

    Non-interactive SSH password authentication

    Vincent Bernat
    Personal · last shared 2026
    I Don't Play Dartsidontplaydarts.com81 people

    Detecting the use of "curl | bash" server-side

    I Don't Play Darts
    Personal · last shared 2024
    Smallstep Blogsmallstep.com95 people

    If OpenSSL were a GUI

    Smallstep Blog
    Company · last shared 2026
    Let's Encrypt Blogletsencrypt.org636 people

    Let's Encrypt Root Trusted by All Major Root Programs

    Let's Encrypt Blog
    Company · last shared 2026
    Stéphane Bortzmeyerbortzmeyer.org17 people

    Observations about the attack on WikiLeaks

    Stéphane Bortzmeyer
    Personal · last shared 2024
    Feross Aboukhadijehfeross.org68 people

    HTML5 localStorage allows sites to fill up users' hard disks

    Feross Aboukhadijeh
    Personal · last shared 2026
    Unixwizunixwiz.net77 people

    So you want to be a consultant?

    Unixwiz
    Personal · last shared 2026