是否可以配置ssh
以知道我的用户名应该是什么?
默认情况下,它使用当前用户名,这在我的情况下是不正确的。
我在借用的笔记本电脑上,我的用户名是loaner
,但我想告诉ssh
我我的用户名是buck
。
奖励积分:我在家里的用户名是 bgolemon。如果我可以为每个主机配置用户名,那就更好了。
是否可以配置ssh
以知道我的用户名应该是什么?
默认情况下,它使用当前用户名,这在我的情况下是不正确的。
我在借用的笔记本电脑上,我的用户名是loaner
,但我想告诉ssh
我我的用户名是buck
。
奖励积分:我在家里的用户名是 bgolemon。如果我可以为每个主机配置用户名,那就更好了。
创建一个名为config
inside的文件~/.ssh
。在文件中,您可以添加:
Host *
User buck
或添加
Host example
HostName example.net
User buck
第二个示例将设置一个用户名并且是特定于主机名的,而第一个示例仅设置一个用户名。当您使用第二个时,您不需要使用ssh example.net
; ssh example
就足够了。
man ssh_config
说
用户
指定要登录的用户。当在不同的机器上使用不同的用户名时,这会很有用。这省去了必须记住在命令行上提供用户名的麻烦。
您可以使用快捷方式。在您的主目录中创建一个 .bashrc 文件。在那里,您可以添加以下内容:
alias sshb="ssh buck@host"
要使别名在您的终端中可用,您可以关闭并打开您的终端,或运行
source ~/.bashrc
然后您只需输入以下内容即可连接:
sshb
如果您对特定变量(即 User 或 IdentityFile)有多个引用,则 ssh 配置文件中的第一个条目始终优先,如果您想要特定的内容,则将其放在第一位,任何通用的都将其放在底部。
There is a Ruby gem that interfaces your ssh
configuration file which is called sshez
.
All you have to do is sshez <alias> username@example.com -p <port-number>
, and then you can connect using ssh <alias>
. It is also useful since you can list your aliases using sshez list
and can easily remove them using sshez remove alias
.