ssh 到另一台电脑时更改默认用户名

Tom*_*Tom 19 ssh openssh username

当我ssh在不同的电脑之间时,我可以省略我的用户名 ( tom) 并只输入

ssh pc_name
Run Code Online (Sandbox Code Playgroud)

代替

ssh tom@pc_name
Run Code Online (Sandbox Code Playgroud)

我喜欢这个功能,并养成了使用它的习惯。

不幸的是,在我的其中一台计算机上,我选择了用户名tommy。每次我连接到这台计算机时,我都会忘记写,tommy@creative_pc并想知道为什么我的密码不起作用。有没有办法告诉 ssh 在省略用户名时使用什么用户名?

编辑:刚刚发现以下类似的问题:How to make ssh login as the right user? 它没有出现在我最初的搜索中。

vte*_*est 34

当然:

$ ssh -l tommy
Run Code Online (Sandbox Code Playgroud)

将您作为 tommy 登录。

您还可以通过在 ~/.ssh/config 中创建这样的记录来使每个主机持久化:

Host creative_pc
User tommy
HostName creative_pc # put the full host name here or the IP if it is static
Run Code Online (Sandbox Code Playgroud)

那么你只需要做:

$ ssh creative_pc # this is the string from Host setting
Run Code Online (Sandbox Code Playgroud)

默认情况下,您以 tommy 的身份登录那里


小智 6

我有一个很大的服务器列表,所以我使用了一个 shell 别名来为所有主机设置一个默认用户。在你的 ~/.bashrc 上添加以下行:

alias ssh="ssh -l default_user"
Run Code Online (Sandbox Code Playgroud)

您仍然可以使用 -l 设置另一个用户:

ssh server -l other_user
Run Code Online (Sandbox Code Playgroud)

我今天开始使用,似乎在 Ubuntu 12 上运行良好。