Linux 上的默认 SSH 用户

Pet*_*ter 16 ssh

我应该添加到我的.bashrc文件中的条目是什么,以便我可以指定用于建立 SSH 连接的默认用户?例如,如果我希望它是 root 用户并希望通过 SSH 连接到 x,如果我输入ssh x,它应该默认为ssh root@x.

默认情况下,Linux 似乎默认为您登录的任何用户。即,如果我以“peter”身份登录,则键入ssh x将导致连接ssh peter@x.

请记住,我有时仍想覆盖默认值,因此请执行以下操作

alias ssh='ssh root@'
Run Code Online (Sandbox Code Playgroud)

不是最理想的解决方案。

spu*_*der 42

比在 bashrc 中放置别名更好的解决方案是使用 ssh 配置文件

cat ~/.ssh/config

HOST *  
     USER root
Run Code Online (Sandbox Code Playgroud)

您还可以指定某些子域使用某些用户。如果您的笔记本电脑在网络之间旅行,则很有用。

HOST 192.168.*.*
     USER homeuser

HOST 10.2.*.*
     USER workuser
Run Code Online (Sandbox Code Playgroud)

您甚至可以按域进行配置,并为不同的域使用不同的 ssh 密钥。

HOST *.microsoft.com
     USER bill
     IdentityFile ~/.ssh/microsoft/id_rsa

HOST *.apple.com
     USER steve
     IdentityFile ~/.ssh/apple/id_rsa
Run Code Online (Sandbox Code Playgroud)

您还可以添加适用于多个主机的部分,例如

HOST rasbpi1 rasbpi2 rasbpi3
    USER pi
Run Code Online (Sandbox Code Playgroud)

通过执行man ssh_config在这里阅读有关格式的更多信息

  • 请注意,当 `ssh` 扫描配置文件时,它将使用它找到的第一个匹配项,因此将最不具体的匹配项放在文件底部。 (2认同)