You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Oracle Cloud Ubuntu虚拟机修改默认SSH端口22后无法登录的解决求助

Oracle Cloud Ubuntu虚拟机修改默认SSH端口22后无法登录的解决求助

兄弟我完全懂你这种急得抓耳挠腮的心情——没备份就改SSH配置搞崩登录,还碰到云服务商支持甩锅让搜谷歌,简直倒霉到家了!我之前在Oracle Cloud免费层也踩过几乎一模一样的坑,给你几个实打实的解决思路,先别慌:

  • 先靠串行控制台抢回系统控制权
    这是Oracle Cloud虚拟机SSH挂了之后的救命稻草!进控制台找到你的虚拟机,点进「控制台连接」里的「启动串行控制台」,等个几十秒就能进到系统的终端界面,直接用你Ubuntu的用户名和密码登录就行(不管你之前是密钥还是密码登录,串行控制台都能直接连)。
    登进去后按步骤排查:

    1. 先检查SSH配置文件有没有写错:cat /etc/ssh/sshd_config,确认Port 777的配置是不是格式正确(比如Port后面有没有空格、有没有被注释掉),要是不确定就先改回Port 22应急。
    2. 检查两层防火墙!这是Oracle Cloud最容易踩的坑:
      • 系统层面:用ufw status看看有没有允许777端口的规则,没有的话就加:ufw allow 777/tcp,然后ufw reload刷新。
      • 云平台层面:回到控制台虚拟机对应的「虚拟云网络」,找到安全列表,添加入站规则,允许TCP协议的777端口(要是想临时用回22也一起加上)。
    3. 重启SSH服务:systemctl restart sshd,先在串行控制台里用ssh localhost -p 777测试能不能连,没问题再用PuTTY试远程连接。
  • 如果串行控制台也登不进,就用救援实例救数据
    要是连串行控制台都搞不定(比如忘了系统用户名密码),那只能靠挂载磁盘救数据了:

    1. 先在控制台停止出问题的虚拟机,然后到「附加的块存储」里把系统磁盘分离出来。
    2. 新建一个同区域的Oracle Cloud免费层Ubuntu虚拟机(反正免费,用完删了就行),把刚才分离的磁盘挂载到新机器上。
    3. 挂载完成后,你就能直接访问原磁盘里的所有文件了,先把重要数据拷贝出来存好,甚至可以直接修改原磁盘里的/etc/ssh/sshd_config改回22端口,再把磁盘装回原来的虚拟机启动。
  • 最后给你敲个警钟
    以后改SSH端口这种操作,千万不要直接删原端口!先在sshd_config里同时保留22和新端口:

    Port 22
    Port 777
    

    重启SSH后先测试新端口能正常登录,确认没问题再删掉Port 22的配置,这样绝对不会出现改完直接断连的情况!

备注:内容来源于stack exchange,提问作者Naruto Uzumaki

火山引擎 最新活动