💾 Archived View for drew.monster › log › ssh_config.gmi captured on 2023-11-14 at 07:38:58. Gemini links have been rewritten to link to archived content

View Raw

More Information

⬅️ Previous capture (2023-01-29)

-=-=-=-=-=-=-

Easier ssh with ~/.ssh/config

21 Jan 2021

I didn't know about the `~/.ssh/config` file until quite recently and it's *really* handy, so I thought I'd share.

`~/.ssh/config` lets you make what I think of as ssh aliases. You can give connections short names and specify various connection settings ‒ pretty much anything you can pass to ssh's CLI can be configured here.

Here's a simple example:

Host nas
	Hostname 192.168.1.10

Host laptop
	Hostname 192.168.1.11
	User laptop-me

Host someserver
	Hostname 203.0.113.1
	User seriousthings
	Port 10100
	PubkeyAuthentication yes
	Identityfile ~/.ssh/id_rsa_seriousthings

Host *
	PubkeyAuthentication no

I am then able to do, for example, simply:

ssh nas

These settings apply from top to bottom, cumulatively. So you want to structure this file with *specific rules above general rules*, otherwise the general rules will override the specific, which is not what you want.

One nice benefit is that you'll get autocompletion of hosts defined in `~/.ssh/config` when using ssh under bash or zsh (at least).

`~/.ssh/config` can also be used to shore up some of the leaky parts of sshing, as described at the link below ‒ the whole page, and other articles in the series (linked at the top) are worth a read if you use ssh a decent amount.

ssh tunnelling for fun and profit

..