是否有可能配置ssh知道我的用户名应该是什么?

默认情况下,它使用当前用户名,这在我的例子中是不正确的。

我使用的是一台借来的笔记本电脑,我的用户名是loaner,但我想告诉ssh我的用户名是buck。

额外提示:我在家里的用户名是bgolemon。如果我可以配置每个主机的用户名,那就更好了。


在~/.ssh中创建一个名为config的文件。在文件中你可以添加:

Host *
    User buck

或添加

Host example
    HostName example.net
    User buck

第二个示例将设置用户名,并且是特定于主机名的,而第一个示例只设置用户名。当你使用第二个时,你不需要使用ssh example.net;SSH示例就足够了。


Man ssh_config说

用户登录的用户名。当a 不同的机器使用不同的用户名。这将保存 必须记住在命令行上给出用户名的麻烦。


如果你只想ssh几次,比如在一台借来的或共享的电脑上,试试:

ssh buck@hostname

or

ssh -l buck hostname

有一个Ruby gem接口你的ssh配置文件,叫做sshez。

您所要做的就是sshez <alias> username@example.com -p <port-number>,然后您就可以使用ssh <alias>连接了。它还很有用,因为您可以使用sshez list列出您的别名,并可以使用sshez remove alias轻松删除它们。


你可以走捷径。在主目录中创建一个.bashrc文件。在那里,你可以添加以下内容:

alias sshb="ssh buck@host"

要使别名在终端中可用,您可以关闭并打开终端,或者运行

source ~/.bashrc

然后你只需输入:

sshb

如果你对一个特定的变量有多个引用,例如User或IdentityFile, ssh配置文件中的第一个条目总是优先级,如果你想要一些特定的东西,那么把它放在前面,任何通用的东西把它放在底部。