I use ssh on a variety of machines, mainly linux. Accounts on these machines vary in naming scheme: if my name is First Last, then I have accounts: first, flast, last_f, lastf, and sometimes I need to log in as root. For each machine I use, I would like the openssh client to know which account to use when I don't specify on the command line.
So the question is: How do I make ssh server
Do The Right Thing when a username is not specified?
Answer
You can create a config
file in your home .ssh
directory, which can specify a default user, identity file etc and assign it to an alias which you can use to connect.
For example, you could put this into the ~/.ssh/config
file:
Host example
HostName example.com
User first_last
IdentityFile ~/.ssh/example_rsa
Port 22
RSAAuthentication yes
PubkeyAuthentication yes
Host example2
HostName example2.com
User last_first
# other parameters as needed
Then you can just type ssh example
or ssh example2
on the command line to connect.
So you can set one up for each machine you want to connect to, with the relevant user. Then just use the aliases to connect without having to specify a user. You can also use a pattern to match multiple hosts.
There's more information, and details of what you can specify in a config file in the ssh_config man page.
Comments
Post a Comment