当我 SSH 到服务器时,提示有时会显示我的用户和服务器的主机名:
xavier@local:~$ ssh server1
xavier@server1's password:
有时我得到的只是Password:
xavier@local:~$ ssh server2
Password:
隧道时哪个不太方便(很难知道我是否必须输入第二台服务器的密码,或者我是否需要重复第一个服务器,因为我犯了一个错误),以及使用不同的用户名(我是否忘记设置正确的.ssh/config
?)。
通常我发现 Debian/Ubuntu 会提示user@hostname's password:
,而我Password:
在 OpenSUSE/SLES/Mac 服务器上看到。
显然服务器的配置不同,但我找不到导致这种差异的原因。如何配置 ssh 服务器以在提示符中显示用户和主机名?或者也许我可以在客户端做到这一点?
进一步调查,似乎
user@server's password
提示用于密码身份验证,而Password:
提示显示用于键盘交互式身份验证。我不知道这两种方法存在。它们看起来非常相似,因为它们通常都会要求输入密码。所以诀窍是:
确保在服务器上启用密码验证。在
/etc/ssh/sshd_config
:在客户端,设置
password
为首选方法keyboard-interactive
如果服务器禁用 PasswordAuthentication,将方法添加到列表中是明智的我最终将以下内容添加到我的
.ssh/config
:我现在
user@server's password:
在所有主机上都收到提示。