是否可以使用密钥通过 ssh 进入 ubuntu 服务器并使用密码从另一台计算机进入?

5 ssh

我家里有 ubuntu 服务器,我使用 SSH 密钥从我的笔记本电脑通过终端登录。很少,但主要是在工作中,我需要访问此服务器,但我不想在我的工作笔记本电脑上复制密钥 - 我只是为此使用普通密码。

因此,如果我从 ssh 配置文件启用密码登录,它也会在我的笔记本电脑上询问我密码,即使它包含密钥,对吗?

有没有办法阻止这种行为?

谢谢。

Lek*_*eyn 1

即使密码和基于密钥的方法都可用,也可以强制您的笔记本电脑使用密钥文件。如果您当前正在使用 进行连接ssh user@your.host.tld -p 22,请编辑~/.ssh/config并添加:

Host your.host.tld
    PreferredAuthentications publickey
Run Code Online (Sandbox Code Playgroud)

这个配置文件可以让你输入更少的内容:

Host home
    Hostname your.host.tld
    User user
    PreferredAuthentications publickey
    Port 22
Run Code Online (Sandbox Code Playgroud)

有了这个配置,你只需要ssh home.

可以将基于密码的登录限制到某个 IP 地址。在 中/etc/ssh/sshd_config,您将有一行禁用基于密码的身份验证:PasswordAuthentication no。要启用它以从某个 IP 登录,您可以使用:

Match Address 12.34.56.78
    PasswordAuthentication yes
Run Code Online (Sandbox Code Playgroud)

我建议您即使在工作中也使用基于密钥的身份验证。它比基于密码的身份验证安全得多,因为它不能轻易被暴力破解。您可以为同一个帐户拥有多个密钥,这应该不是问题。

有关更多奇特的配置指令,请参阅ssh_config(5)的手册页。(对于服务器端,请参阅sshd_config(5)