Linux免密ssh自身不成功怎么解决
Linux免密ssh自身不成功怎么解决详细介绍
若在 Linux 系统里无法实现免密 SSH 登录自身,你可以按照以下步骤排查并解决问题:
1. 检查 SSH 服务是否正在运行
要保证 SSH 服务已经启动,并且处于正常运行的状态。你可以运用以下命令来查看和启动 SSH 服务:
bash
systemctl status sshd
systemctl start sshd
systemctl sshd
2. 生成 SSH 密钥对
若还没有 SSH 密钥对,需要生成一个。使用以下命令:
bash
ssh-keygen rsa
在执行此命令后,你可以按回车键接受默认的密钥保存位置和空密码(如果你想要空密码以实现完全免密)。
3. 将公钥添加到授权文件
把生成的公钥添加到 ~/.ssh/authorized_keys 文件中,可使用如下命令:
bash
~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
4. 检查文件和目录权限
要确保相关文件和目录的权限设置正确,不正确的权限可能会致使 SSH 拒绝免密登录。执行以下命令设置权限:
bash
~/.ssh~/.ssh/authorized_keys
5. 检查 SSH 配置文件
确保 /etc/ssh/sshd_config 文件中的以下配置项设置正确:
plaintext
PubkeyAuthentication yesAuthorizedKeysFile .ssh/authorized_keys
修改完成后,重启 SSH 服务使配置生效:
bash
systemctl restart sshd
6. 检查 SELinux 或防火墙设置
SELinux 或者防火墙可能会阻止 SSH 连接。你可以临时禁用 SELinux 或调整防火墙规则来进行测试:
bash
setenforce
firewall-cmd --add-port/tcp
firewall-cmd
7. 测试 SSH 连接
完成上述步骤后,尝试进行 SSH 连接:
bash
localhost
912 localhost
如果一切配置无误,你应该能够无需输入密码就登录到本地系统。
通过以上步骤,你应该能够解决 Linux 免密 SSH 自身不成功的问题。要是问题依旧存在,你可以查看 /var/log/secure 或 /var/log/auth.log 文件,从中获取更多的错误信息。