我正在尝试使用SSH连接到我自己的CentOS服务器;我可以用密码连接好;我正在尝试使用我的公钥连接,但服务器不会尝试公钥身份验证.我已经按照CentOS wiki中的
this page的所有说明进行了操作,并验证了以下内容:
>我正在运行CentOS 6.0或更高版本
>我的sshd_config具有以下内容:
PermitRootLogin no PubkeyAuthentication Yes RSAAuthentication yes AuthorizedKeysFile .ssh/authorized_keys
>我在客户端的主目录中的.ssh /文件夹中创建了一个私钥
>公钥的全文(由ssh-keygen生成)占用服务器上主目录中.ssh / authorized_keys文件中的一行.
>我在客户端和服务器上都设置了以下权限模式:
chmod 700 .ssh chmod 600 .ssh/*
根据CentOS网站上的这个
issue report,这是由SELinux的上游“功能”引起的;如果SELinux正在执行,它将阻止服务器使用pubkey身份验证.没有迹象表明这种行为会在不久的将来发生变化.要查看此问题是否适用于您,请键入sestatus并查看它是否将“当前模式”报告为强制执行.
原文链接:https://www.f2er.com/centos/373866.html我知道两个解决方法.
>您可以将SELinux设置为许可模式.键入setenforce 0立即更改策略,然后打开/ etc / selinux / config并确保SELINUX = permissive.
>将文件还原到正确的安全上下文:
restorecon -R -v ~$USER/.ssh