云服务器远程连接指南:各种方法详解与问题解决
本文最后更新于:2 年前
前言
简要介绍云服务器和远程连接的重要性
提出本文要解决的问题和目标
正文
讲述自己踩过的坑和解决的问题
绑定密钥对导致 SSH 服务异常
起因
为了更加保障远程连接服务器地安全性,我为阿里云实例绑定了密钥对
但在绑定密匙对之后,出现了以下问题:
在使用宝塔面板的终端远程连接云服务器时,始终显示:无法自动认证,请填写本地服务器的登录信息!
如下图所示:
尝试解决
到这里,基本排除了宝塔面板本身的配置错误,即连接服务器失败,是由于服务器本身的 SSH 服务配置有误,或者相关端口未开放
总之,问题出在服务器上
服务器(阿里云服务器)SSH 服务开启/重启失败,如此常见的问题,我苦苦找寻了两天却始终未能解决
通过自主问题排查发现的问题:(2023/06/26 晚)
在此给出我尝试过的一些解决方案吧,虽然没有解决问题,但很受用,让我更加深入了解到了 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 博客
问题解决
1 |
|
那这条命令什么意思呢?很简单,就是以调试模式运行 SSH 服务,出错了
详细了解相关内容可以看这篇博客:(68 条消息) Linux 命令(207)—— sshd 命令_恋喵大鲤鱼的博客-CSDN 博客
观察报错信息,我明白了问题所在,执行了以下这条命令:
1 |
|
详细解决方法可以参考这篇博客:(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 表示只有文件的所有者拥有读取和写入的权限,而所有者所属组和其他用户没有任何权限。
有关 Linux 中基本权限的介绍,可以参考下这几篇博客:
(70 条消息) 【Linux】基本权限_小赵还有头发的博客-CSDN 博客
(70 条消息) Linux 之权限_别动我的饭的博客-CSDN 博客
这就是由于实例绑定密钥对后,引发的 SSH 服务连接异常及解决方法
在这里附上 SSH 服务相关配置的介绍,更加了解到 SSH 服务配置文件的结构以及各个配置文件的作用
(67 条消息) SSH 服务 3——配置文件篇*/usr/sbin/sshd -d*九龍小天赐的博客-CSDN 博客
(67 条消息) 【安全知识】——SSH 的两种远程登录方法详解ssh 登录白昼安全的博客-CSDN 博客
(68 条消息) SSH 简介及两种远程登录的方法_ssh @_Jack LDZ 的博客-CSDN 博客
(68 条消息) SSH 详解(实践及应用)_再见丶孙悟空的博客-CSDN 博客
(68 条消息) ssh 服务介绍_weixin_30858241 的博客-CSDN 博客
(68 条消息) SSH 服务详解_敬申火的博客-CSDN 博客
非常感谢您能够看到这里,希望我的踩坑经历对您有所帮助!(2023/06/26 晚)
Workbench 远程连接云服务器失败
简介
Linux 实例未开启 root 用户远程登录
这是什么意思呢?就是该 Linux 实例未开启 root 用户远程登录,简单来讲就是 root 用户不允许通过密码认证方式远程连接到服务器
这里可以看官方提供的操作指南:通过密码或密钥认证登录 Linux 实例 (aliyun.com)
即开启两个权限:
1 |
|
未及时同步更新用户信息
还是一个 Workbench 远程连接服务器失败的报错,我们直接给出解决方法:
阿里云网页版远程链接出错-Unable to negotiate key exchange for server host key algorithms - yumoz - 博客园 (cnblogs.com)
看这篇博客就够了,总之,一番操作下来之后,远程连接确实成功了
按我的理解,就是更新本服务器用户信息(修改实例密码等等)之后,未及时将原有主机信息删除,产生了信息冲突,导致连接失败
具体的原因先按下不表,解决方法就是这样的 🤭(2023/07/18 晚)
本地 XShell 工具连接失败
很显然,连接失败了,依次排除可能的原因:
- 服务器是否开启
- 是否开放默认的 22 端口
- 是否允许远程连接
- 是否允许 root 用户密码登录
以上可能的原因均被排除后,我检查本地连接工具,结果发现用户名不是 root,而是 root 权限:(图我没接到截到)
介绍其他可能的远程连接方法和工具
- 在 SSH、RDP 和 VNC 之外,介绍其他可能的远程连接方法,如使用 VPN、Web 终端等
- 推荐和比较不同方法的优缺点,帮助读者选择适合自己的远程连接方式
总结
- 强调远程连接云服务器的重要性和便利性
- 鼓励读者在实践中积累经验,并与其他人分享和交流
云服务器远程连接指南:各种方法详解与问题解决
https://test.atomgit.net/blog/2023/06/20/云服务器远程连接指南:各种方法详解与问题解决/