ssh 配置免密失败

多数情况下,可以登录成功。但是也会出现配置不正确,导致失败的时候。

1.检查authorized_keys文件权限,并设置为700

chmod 700 authorized_keys

2.检查/etc/ssh/sshd_config文件

#StrictModes yes

设置为

StrictModes no

#AuthorizedKeysFile .ssh/authorized_keys

设置为

AuthorizedKeysFile .ssh/authorized_keys

3.删除/root/.ssh/known_hosts文件

4.重启ssh

service sshd restart

转载于:https://www.cnblogs.com/Springmoon-venn/p/10183215.html

### 可能的原因分析 SSH钥登录失败可能由多种因素引起,以下是常见的几种情况及其对应的解决方案: #### 1. **公钥类型不受支持** Ubuntu 22.04 中使用的 OpenSSH 版本较高,默认情况下不再支持 `ssh-rsa` 类型的公钥。这可能导致即使正确配置了 `.ssh/authorized_keys` 文件,仍然无法实现码登录[^1]。 #### 2. **主机钥验证失败** 当客户端记录的远程主机钥与实际主机上的钥不匹配时,会出现 “Host key verification failed” 的错误提示。这种情况通常发生在频繁更换操作系统或重置 SSH 配置的情况下[^2]。 #### 3. **SSH 服务未正常运行** 如果目标服务器上的 SSH 服务未能成功启动或者存在异常,则会阻止任何基于钥的身份验证请求。此时可以尝试重启 SSH 服务来解决问题[^3]。 --- ### 解决方案 针对上述提到的各种可能性提供具体的解决办法如下: #### 修改受信任的加算法列表 编辑 `/etc/ssh/sshd_config` 文件,在其中加入允许使用旧版 RSA 加方式的支持选项: ```bash PubkeyAcceptedKeyTypes=+ssh-rsa ``` 保存更改之后记得要重新加载 SSH 守护进程以使新参数生效: ```bash sudo systemctl reload sshd ``` #### 清除已知主机条目 对于因为 Host Key Verification Failed 而产生的连接障碍,可以通过删除本地存储的相关记录来修复。具体操作方法为找到并移除对应地址下的那一行数据: ```bash nano ~/.ssh/known_hosts # 或者直接执行下面这条命令自动清理指定IP的所有历史痕迹 ssh-keygen -R <hostname_or_ip> ``` #### 检查并修正SSHD_CONFIG设置项 确认路径下是否存在语法错误以及必要的功能开关状态是否开启正确定义于该文档之中比如 PubkeyAuthentication yes 和 AuthorizedKeysFile .ssh/authorized_keys 这两个字段都需被激活才能保障无码认证流程顺利进行下去。 ```bash vi /etc/ssh/sshd_config ``` 完成调整后再一次运用先前介绍过的手段刷新后台程序实例从而应用最新的改动成果即刻生效: ```bash sudo systemctl restart sshd ``` 最后再次测试新的环境能否满足预期需求即可得出结论。 --- ### 注意事项 确保整个过程中每一步骤均严格按照官方指导手册说明实施以造成不必要的麻烦;另外考虑到安全性方面的考量建议尽量采用更先进的签名机制替代过时的传统形式以此提升整体防护水平减少潜在风险隐患的发生几率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值