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

bst*_*rre 9 linux ssh user-accounts openssh

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

所以问题是:ssh server如果没有指定用户名,我该如何做正确的事?

Ric*_*ams 19

您可以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
Run Code Online (Sandbox Code Playgroud)

然后你可以直接在命令行输入ssh examplessh example2连接。

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

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

  • 缩进除了包含“Host foo”的行之外的所有内容都极大地有助于可维护性的原因。 (4认同)
  • 当然,您可以在同一个 .config 文件中指定任意数量的文件。我有 20 多个没有问题。我只是在每个不同的主机之间留一个空格,这可能不是必需的,但会使其更具可读性。 (3认同)