我正在尝试使用密钥设置 SSH 身份验证(用于 OSSEC 无代理监控)。
- 我已经使用 在调用服务器上生成了一个密钥文件
su -u ossec ssh-keygen
。 - 我将公钥(/var/ossec/.ssh/id_rsa.pub)复制到目标服务器(
/root/.ssh/authorized_keys
) - 执行的时候
sudo -u ossec ssh root@targetserver
提示我输入root密码。
然后,我尝试使用 在目标服务器上启动第二个实例, /usr/sbin/sshd -d -p 2222
并使用 连接到它。 它运行完美,我无需输入目标服务器的 root 密码即可登录。sudo -u ossec ssh [email protected] -p 2222
为什么它不能在“默认”服务(端口 22)上运行?这与 selinux 有关吗?
答案1
我发现禁用 selinux 可以解决问题,所以我可以扩大搜索范围。我偶然发现了这个博客文章建议运行restorecon -R -v /root/.ssh
。这解决了我的问题。