新购阿里云服务器ECS创建之后无法ssh连接的问题处理
<h2 id="问题描述">问题描述</h2>
<p>
由于原服务器将要到期,因此趁着阿里云搞促销活动重新购买了一台ECS服务器,但是在初始化并启动后却无法通过ssh连接,执行ssh命令后,命令行一直卡着没有反应,也没有任何的报错信息,就是一直卡着没有反应,什么反馈信息也得不到,这是第一次碰到这种问题,买过好多次阿里云ECS,还是第一次碰到这种无法使用ssh连接的问题。</p>
<h2 id="查找原因">
查找原因</h2>
<p>
首先是想到了如下几个问题:</p>
<ul>
<li>
<strong>本地网络问题</strong>
</li>
<li>
<strong>ECS网络问题</strong>
</li>
<li>
<strong>sshd服务是否打开</strong>
</li>
<li>
<strong>防火墙是否打开</strong>
</li>
<li>
<strong>端口是否打开</strong>
</li>
</ul>
<p>
之后开始一一验证:</p>
<p>
本地网络一切正常,这个问题不用多说。</p>
<p>
ECS的问题验证则有点麻烦,因为根本无法连接进去,只能通过阿里云的ECS远程连接进入ECS来定位一下问题,但是这个远程连接很卡,所以用起来很烦。</p>
<h4 id="ecs网络是否通畅验证">
ECS网络是否通畅验证</h4>
<p>
通过curl命令获取百度首页:</p>
<pre>
<code class="hljs nginx"><span class="hljs-attribute">curl</span> <span class="hljs-string">'http:www.baidu.com'</span>
</code></pre>
<p>
结果如下:</p>
<p>
<img title="新购阿里云服务器ECS创建之后无法ssh连接的问题处理" alt="新购阿里云服务器ECS创建之后无法ssh连接的问题处理" class="medium-zoom-image" loading="lazy" src="https://zhuji.jb51.net/uploads/img/202305/99f33262d0a3c71a84d0a83af05f6b2b.jpg"></p>
<p>
可以获取百度的页面代码,说明网络没问题,但是这个操作界面真的很丑(无奈脸.png)。</p>
<h4 id="sshd服务是否打开">
sshd服务是否打开</h4>
<p>
执行命令查看sshd服务状态:</p>
<pre>
<code class="hljs lua">service sshd <span class="hljs-built_in">status</span>
</code></pre>
<p>
结果如下:</p>
<p>
<img title="新购阿里云服务器ECS创建之后无法ssh连接的问题处理" alt="新购阿里云服务器ECS创建之后无法ssh连接的问题处理" class="medium-zoom-image" loading="lazy" src="https://zhuji.jb51.net/uploads/img/202305/e3299c680a07af3162ba6e5c02d7851d.jpg"></p>
<p>
sshd服务正常运行。</p>
<h4 id="防火墙是否开启">
防火墙是否开启</h4>
<p>
执行命令查看防火墙状态:</p>
<pre>
<code class="hljs lua">service iptables <span class="hljs-built_in">status</span>
</code></pre>
<p>
结果如下:</p>
<p>
<img title="新购阿里云服务器ECS创建之后无法ssh连接的问题处理" alt="新购阿里云服务器ECS创建之后无法ssh连接的问题处理" class="medium-zoom-image" loading="lazy" src="https://zhuji.jb51.net/uploads/img/202305/7383c4636699ccf20f86b077ceb22630.jpg"></p>
<p>
防火墙正常开启,处于工作状态。</p>
<p>
接下来查看防火墙是否将设置的ssh端口添加到规则中:</p>
<pre>
<code class="hljs nginx"><span class="hljs-attribute">iptables</span> -L -n | grep 端口号
</code></pre>
<p>
<img title="新购阿里云服务器ECS创建之后无法ssh连接的问题处理" alt="新购阿里云服务器ECS创建之后无法ssh连接的问题处理" class="medium-zoom-image" loading="lazy" src="https://zhuji.jb51.net/uploads/img/202305/2cc5dd36288d39ef96aca9180128c7b8.jpg"></p>
<p>
可以看到所设置的端口已被添加到iptables防火墙规则中。</p>
<h4 id="端口是否正常打开">
端口是否正常打开</h4>
<p>
使用netstat命令查看端口状况:</p>
<pre>
<code class="hljs nginx"><span class="hljs-attribute">netstat</span> -an |grep 端口号
</code></pre>
<p>
结果如下:</p>
<p>
<img title="新购阿里云服务器ECS创建之后无法ssh连接的问题处理" alt="新购阿里云服务器ECS创建之后无法ssh连接的问题处理" class="medium-zoom-image" loading="lazy" src="https://zhuji.jb51.net/uploads/img/202305/82b88b7f4543f213642ffb0d50313f8f.jpg"></p>
<p>
设置的端口正常被监听。</p>
<p>
我并没有使用默认的ssh端口22,而是重新设置了一个端口值,用以减少sshd端口被黑客恶意扫描的次数。</p>
<h2 id="工单询问">
工单询问</h2>
<p>
在上面的网络验证、防火墙验证、端口验证几个步骤验证了一遍,且全部确认无误后,再次通过远程连接,让人崩溃的是控制台依然没有任何反应,无法连接。</p>
<p>
没的办法,因为没有任何报错信息,只能再次去验证上述几个问题,反复确认后更崩溃的事情来了,重复的验证了很多次后都没有发现问题,服务期的设置和网络一切正常,本地网络也正常,命令也没有错,但是依然无法通过ssh命令连接服务器。</p>
<p>
整个过程花了些时间,在一一验证后得出了一个结论,本地和服务期两边的设置都没有问题,那么到底是哪里出了问题呢?最后实在是没得办法了,只能选择发一个阿里云工单去询问解决方案,整个过程和对方讨论了之后,告诉我需要配置一下安全组,于是赶紧到控制台找到配置的页面,将端口规则添加之后果然可以正常连接了。</p>
<p>
页面路径如下:</p>
<p>
<strong>管理控制台->云服务器ECS->实例->管理->本实例安全组->配置规则</strong></p>
<p>
配置页面如下:</p>
<p>
<img title="新购阿里云服务器ECS创建之后无法ssh连接的问题处理" alt="新购阿里云服务器ECS创建之后无法ssh连接的问题处理" class="medium-zoom-image" loading="lazy" src="https://zhuji.jb51.net/uploads/img/202305/8217d9d360dfcff5bc7fe5993aeef7e1.jpg"></p>
<p>
在这个页面将端口信息配置正确即可。</p>
<blockquote>
<p>
注:由于是私人服务器,因此部分信息做了涂抹。</p>
</blockquote>
<h2 id="结语">
结语</h2>
<p>
整个过程挺无奈的,各个环节都确认无误后还是没有得到正确的答案,很绝望,哈哈哈哈哈。其实阿里云的服务器我买了很多次了,我是在想,以前没有这个状况啊,为什么单单这次出现这个问题了,以往确实没有设置过安全组。</p>
<p>
好了,既然解决了就不抱怨了,整理一下发上来,希望其他人碰到这类问题不会手足无措了。</p>
<p>
首发于我的个人博客,感谢大家支持。</p>
<blockquote>
<p>
作者:13<br>
GitHub:https://github.com/ZHENFENG13<br>
版权声明:本文为原创文章,未经允许不得转载。</p>
</blockquote>
頁:
[1]