多年来,当我通过 SSH 连接服务器时,我看到过几种不同的密码提示,有些只是“密码:”,然后是“用户名@服务器 ip 密码:”或“用户名@服务器主机名密码:”。就我而言,当我刚刚安装 Ubuntu Server 时,我的提示是“用户名@服务器 ip”,当然,它会根据我尝试从本地网络还是通过互联网登录来显示不同的 IP。但我更希望它显示服务器自己的主机名而不是 IP 地址。
假设我有一个名为 foo 的用户,并且服务器自己的主机名是 bar,所以我希望它显示“foo@bar 密码:”。
有人知道如何更改它吗?我尝试谷歌搜索并找到了针对不同发行版的几个内容(一些提到 sshd_config,其他提到 pam.d,一些甚至是语言环境文件),但似乎没有一个适用于 Ubuntu 的内容。
答案1
该提示来自您的 ssh 客户端,而不是来自服务器;它本质上是重复您在 ssh 命令行中使用的任何标识符:
从ssh连接2.c:auth_passwd()
:
snprintf(prompt, sizeof(prompt), "%.30s@%.128s's password: ",
authctxt->server_user, host);
如果您设置了HostKeyAlias
选项,它将使用该名称,而不是您在命令行上使用的 IP 地址或主机名。添加到您的~/.ssh/config
:
Host some_alias
Hostname 192.168.1.13
HostKeyAlias something_else