The ~/.ssh/config file is the single best way to stop that pain. It’s a per-user OpenSSH client configuration file (usually at /home/yourname/.ssh/config or ~/.ssh/config on macOS/Linux), and it lets you centralize all your connection logic so you rarely need flags anymore.
What it actually does (the good parts) 1 Host aliases / nicknames Turn ugly connection strings into one nice short name.
Host prod-db
HostName 10.88.12.45
User admin
Port 2222
IdentityFile ~/.ssh/prod_rsa
After that, you just type:
ssh prod-db
2 Common options you almost always want
User — default username
Port — non-22 ports
IdentityFile — which key to offer (and only that key if you pair it with IdentitiesOnly yes)
ProxyJump — jump hosts / bastions (the modern replacement for ProxyCommand)
Example with a bastion:
Host internal-server
HostName 192.168.77.22
User deploy
ProxyJump bastion.corp.example.com
3 Wildcards & patterns for groups of hosts Very powerful once you have 10+ machines with similar setup.
4 Security & hardening tricks (things people usually learn the hard way)
Host untrusted-host
StrictHostKeyChecking accept-new
UserKnownHostsFile /dev/null # only for throwaway/testing hosts!
Host *
# Good defaults everyone should consider
ServerAliveInterval 60
ServerAliveCountMax 3
Compression yes # sometimes helps a lot on slow links
ForwardAgent no # safer default nowadays
Quick example people actually use
# ~/.ssh/config
Host *
ServerAliveInterval 30
ServerAliveCountMax 5
AddKeysToAgent yes
UseKeychain yes # macOS only, keeps passphrase in keychain
Host jump
HostName jump.corp.example.com
User jumpuser
Host *.internal
ProxyJump jump
User app
IdentityFile ~/.ssh/internal_ed25519
Host laptop
HostName 192.168.1.88
User pi
Port 8822
Important gotchas / pro tips 1 Permissions must be 600: chmod 600 ~/.ssh/config OpenSSH will silently ignore the file if it’s too permissive — very common source of “why isn’t my config working?” pain.
我一直认为这句话经常导致软件设计师犯严重错误,因为它已经被应用到了不同的问题领域。这句话的完整版是“We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil.”
We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil.
字面意思是97%优化是不值得也不应该做的,“过早”的那类优化是指这97%,关键点的优化,也就是剩下的3%仍是绝对必要的,虽然作者并没有直接说“这3%应该尽早做”,但某种程度上“we should not pass up our oppurtunities”大概已经包含了这层意思。作者并不反对优化,而且强调作关键优化的必要性。直白地说,他的意思是:不要浪费时间做那些根本不重要的优化。