Is it possible to configure ssh to know what my username should be?
By default it uses the current user-name, which is not correct in my case.
I'm on a loaner laptop, and my username is loaner
, but I want to tell ssh that my username is buck
.
Bonus points: my username at home is bgolemon. If I could configure username per-host that would be even better.
Create a file called config
inside ~/.ssh
inside the file
you can add:
Host *
User buck
or add
Host example
HostName example.net
User buck
The second example will set a username and is Hostname specific while the first example sets a username only. And when you use the second one you don't need to use ssh example.net
, ssh example
will be enough.
If you only want to ssh a few times, such as on a borrowed or shared computer, try:
ssh buck@hostname
or
ssh -l buck hostname
man ssh_config
says
User
Specifies the user to log in as. This can be useful when a
different user name is used on different machines. This saves the
trouble of having to remember to give the user name on the command line.
There is a ruby gem that interfaces your ssh
config file which is called sshez
.
All you have to do is sshez <alias> username@example.com -p <port-number>
then you can connect using ssh <alias>
. It is also useful since you can list your aliases using sshez list
and easily remove them using sshez remove alias
You can use a short cut. Create a .bashrc file in your home directory. In there, you can add the following
alias sshb="ssh buck@host"
To make the alias available in your terminal, you can either close and open your terminal, or run
source ~/.bashrc
Then you can connect by just typing in:
sshb