起因
-
为了更加保障远程连接服务器地安全性,我为阿里云实例绑定了密钥对
-
但在绑定密匙对之后,出现了以下问题:
-
在使用宝塔面板的终端远程连接云服务器时,始终显示:无法自动认证,请填写本地服务器的登录信息!
-
如下图所示:
-
这是一个很常见的错误,在此我对这种问题表明我的见解:(2023/06/26晚)
尝试解决
-
首先排查宝塔面板的问题所在,即检查宝塔面板是否开启SSH服务,是否允许使用SSH密码、SSH密钥登录:
-
同时检查宝塔面板是否开放了SSH服务端口(默认端口号为22):
-
到这里,基本排除了宝塔面板本身的配置错误,即连接服务器失败,是由于服务器本身的SSH服务配置有误,或者相关端口未开放
-
总之,问题出在服务器上
-
服务器(阿里云服务器)SSH服务开启/重启失败,如此常见的问题,我苦苦找寻了两天却始终未能解决
-
通过自主问题排查发现的问题:
-
终端报错情况:
-
但会是什么问题呢?有太多因素了,网上有令人眼花缭乱的解决方案,甚至阿里云官方有关SSH服务开启失败的解决办法,我都一一尝试过,甚至向智能AI描述问题寻求帮助,均无果
- 在此给出我尝试过的一些解决方案吧,虽然没有解决问题,但很受用,让我更加深入了解到了SSH服务的相关配置
(68条消息) 宝塔 无法自动认证,请填写本地服务器的登录信息!宝塔面板无法自动认证,请填写本地服务器的登录信息!m0_59325389的博客-CSDN博客
宝塔 无法自动认证,请填写本地服务器的登录信息_ssh_a1161105403-DevPress官方社区 (csdn.net)
(68条消息) 【【宝塔】无法自动认证,请填写本地服务器的登录信息!】宝塔面板无法自动认证,请填写本地服务器的登录信息!qq_54529249的博客-CSDN博客
日常错误积累-01-ssh重启报错或者无法重启-Failed to restart ssh.service: Unit not found - 简书 (jianshu.com)
(68条消息) 【服务器】无法进行ssh连接的问题逐一排查以及解决方法ssh连接不上服务器别出BUG求求了的博客-CSDN博客
问题解决
-
终于,我在执行了下面这条命令之后,注意到了这样的报错信息:
/sbin/sshd -d
-
那这条命令什么意思呢?很简单,就是以调试模式运行SSH服务,出错了
-
详细了解相关内容可以看这篇博客:(68条消息) Linux 命令(207)—— sshd 命令_恋喵大鲤鱼的博客-CSDN博客
-
观察报错信息,我明白了问题所在,执行了以下这条命令:
chmod 600 /etc/ssh/ssh_host_ed25519_key
-
详细解决方法可以参考这篇博客:(67条消息) Permissions 0777 for ‘***’ are too open._Dcatfly的博客-CSDN博客
-
这时再次尝试重启SSH服务,并查看SSH服务状态,发现启动正常了:
-
那这究竟是怎么一回事呢?以下是我的理解:
问题分析
-
我们在生成密钥对后,公钥被投送至服务端,私钥则保存在我们自己的文件目录下
-
这样,将来SSH远程连接服务器时,除了使用用户名、密码登陆外,还可以使用私钥登录
-
如上图所示, /etc/ssh/ssh_host_ed25519_key目录下保存的便是私钥,而给该文件设置的默认读写权限0777过于开放
-
0777是一种非常宽松的权限设置,可能会带来安全风险,因为任何人都可以访问和修改该文件或目录,不符合相关要求,所以SSH服务连接失败
权限设置为0777,意味着所有者、所有者所属组和其他用户都具有读取(第一个7)、写入(第二个7)和执行(第三个7)的权限。这是一种非常宽松的权限设置,可能会带来安全风险,因为任何人都可以访问和修改该文件或目录。
-
所以要对该密钥文件的权限设置为600,这是一种相对严格的权限设置,限制对文件的访问权限
600权限是一种相对严格的权限设置,它可以用于限制对文件的访问权限。具体权限设置为600表示只有文件的所有者拥有读取和写入的权限,而所有者所属组和其他用户没有任何权限。
-
这就是绑定密钥对导致SSH服务异常的解决过程了
-
非常感谢您能够看到这里,希望我的踩坑经历对您有所帮助!