Ben Lobaugh Online

I think, therefore I am. I am, therefore I sail

Quickly list all hosts in your ssh config

I try to be a good citizen and create unique ssh keys for each service I ssh into. I setup all sorts of fun config items and one of my favorites is host aliases. I have accumulated dozens of hosts in my config file and remembering the names of each can be problematic. I tend to open the config file a couple times a day to find a host. This morning I whipped up a quick command that will dump a list of all my hosts into the terminal with one command. No more opening the config file with an editor and scrolling through it. Hopefully this will be something you can enjoy also!

Update: A commenter provided a smoother version that gets rid of the grep call. Here it is.

sed -rn ‘s/^\s*Host\s+(.*)\s*/\1/ip’ ~/.ssh/config

But wait! That is a lot to type and this was supposed to make life easier. Add this as a shell alias and simply type sshhosts to get the list!

alias sshhosts="sed -rn ‘s/^\s*Host\s+(.*)\s*/\1/ip’ ~/.ssh/config"

Previous

Motor parts degreasing day

Next

Level Up Your Team with a Few Simple Leadership Principles

7 Comments

  1. Anant

    This will save me a fair amount of effort as well!

  2. a

    Try harder;)
    sed -n ‘s/Host//p’ ~/.ssh/config

    • That does indeed work to pull out every line with a “Host” on it, however it is not well formatted and will include any other directive in the config file with “Host” on the line. My config file is complex enough that this will not work for me. Try harder 😉

  3. Zouppen

    Host keyword in ssh_config is case-insensitive so you should do a case insensitive replacement, too. Also, one should clean-up the spaces and tabs. And of course play golf with a sed one-liner:

    sed -rn ‘s/^\s*Host\s+(.*)\s*/\1/ip’ ~/.ssh/config

    • Good feedback. My grep command is indeed case sensitive, however the sed is not. The removal of spaces and tabs in your example is handy.

      • Zouppen

        Yeah 🙂

        Still there’s a small issue: your blog platform mangles single quotes to Unicode LEFT and RIGHT SINGLE QUOTATION MARK and makes copy-pastes broken. That’s annoying feature for a tech blog. Hope you can fix it. 🙂

  4. thinks very match

Leave a Reply

Your email address will not be published. Required fields are marked *