如何使ssh以正确的用户身份登录?


8

我在各种机器(主要是linux)上使用ssh。这些计算机上的帐户在命名方案上有所不同:如果我的名字是First Last,那么我有帐户:first,flast,last_f,lastf,有时我需要以root用户身份登录。对于我使用的每台计算机,当我未在命令行上指定时,我希望openssh客户端知道要使用哪个帐户。

因此,问题是:ssh server未指定用户名时,如何制作正确的东西?

Answers:


18

您可以config在主.ssh目录中创建一个文件,该文件可以指定默认用户,身份文件等并将其分配给可用于连接的别名。

例如,您可以将其放入~/.ssh/config文件中:

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

然后,您可以在命令行上键入ssh examplessh example2进行连接。

因此,您可以与相关用户为要连接的每台计算机设置一个。然后,只需使用别名即可连接,而无需指定用户。您还可以使用模式来匹配多个主机。

有关更多信息,以及可以在ssh_config手册页中的配置文件中指定的内容的详细信息。


3
绝对可以在同一.config文件中指定任意多个。我有20多个矿井,没有任何问题。我只是在每个不同的主机之间留出一个空间,这可能不是必需的,但使它更具可读性。
Rich Adams,

1
应该不是config文件吗?开头没有点?
danadam

1
@rich试图让您在示例中显示另一个网站;希望你不介意我走在前面,并把它扔。
嘎嘎堂吉诃德

4
缩进除包含“ Host foo”的行以外的所有内容,这大大有助于维护性。
innaM

1
@CristianCiupitu:考虑到这是一个Linux问题,我几乎不会将OpenBSD的手册页称为官方手册。Linux的ssh(例如,GSSAPIKeyExchange)中有一些选项在BSD版本中不可用。
丹尼斯2014年

1

根据Rich Adam的回答,我发现了PuTTY,它存储了设置。

它全部存储在注册表树中,您可以在下面找到它HKEY_CURRENT_USER\Software\SimonTatham(Simon Tatham是PuTTY的开发人员)。
在那里您可以看到如何定义主机。


1

如果要为每个站点更改它:

编辑您的内容~/.ssh/config

Host *
    User buck
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.