我们最近设置了一个新的Linux机器,该机器与其余机器位于同一局域网中。我们希望只允许本地网络上的计算机能够SSH到新计算机中,而我将通过创建ssh密钥并禁用密码身份验证来做到这一点。
我所做的是在新计算机上运行ssh-keygen -t rsa -b 4096
,复制公钥的内容,并将其放入先前设置的其中一台计算机上的~/.ssh/authorized_keys
文件中。
然后我在新机器上进入/etc/ssh/sshd_config
,并具有以下内容:
PermitRootLogin no
PubkeyAuthentication yes
PasswordAuthentication no
这些是我对此文件所做的唯一更改,当我尝试从旧计算机进行SSH时,我得到了"Permission denied(publickey,gssapi-keyex,gssapi-with-mic)"
如果启用PasswordAuthentication
并尝试ssh,我可以通过输入用户密码登录,但这不是目标。
预先感谢, 丹尼尔
答案 0 :(得分:0)
如果您要尝试以root
的身份登录,则该指令
PermitRootLogin no
拒绝访问,无论采用哪种身份验证方法。
要仅允许root用户使用密钥登录,应将此指令设置为prohibit-password