首页 💻极客编程,建站运维🔌

有此问是因为我在维护我在阿里云的 ECS 云服务器的时候遇到了一点问题。就是当云服务器是 linux 系统的时候,一般来讲连接到服务器需要通过 SSH 进行连接。而阿里云的 ECS 用过的朋友可能会知道会有一个叫做安全组的东西,需要在安全组中开放对应的端口,比如 SSH 的默认端口为 22,那么就需要开放这个端口,才能在外部通过公有 IP 连接到服务器。除了端口之外,还支持设置允许的 IP 地址。如图所示,就可以配置添加一个开放 22 端口,允许任意 IP 进行拦截的安全组配置(0.0.0.0/0 指的是允许任何 IP 连接,在生产机器建议不这么做):

71-1.png

但奇怪的是,我公司的那台电脑,我去按常规的方法查了 IP 地址(比如百度搜索我的IP 这样的关键词,不成功;或者到 ip138 网站查询的 IP,不成功),然后在配置中填入了 IP 地址,却怎么也连接不上服务器,一直给我提示 connection timeout。但通过相同的方法查到的家里电脑等的 IP,配置进去却连接正常,着实让我摸不着头脑。猜测可能是公司内网查到的 IP 不是真实 IP 造成的。

于是我遍寻百度等查看别人的解决方案,均未发现能解决该问题的。于是我给阿里云提了工单处理,工单处理反馈很快,不过一开始还是按照我们常规的方法去查询,我按照指引再次做了操作,失败,也上传了截图。来来回回沟通了一两天之后,阿里云给我提了一个方案,成功解决!现分享给大家:

那就是,使用 linux 自带的 w 命令!

我们先去菜鸟教程看一下 w 命令的作用:

Linux w 命令用于显示目前登入系统的用户信息。
执行这项指令可得知目前登入系统的用户有哪些人,以及他们正在执行的程序。
单独执行 w 指令会显示所有的用户,您也可指定用户名称,仅显示某位用户的相关信息。

于是我按照指引,先配置允许所有 IP 登录服务器,这时候公司这台电脑是能登录成功的。

执行 w 命令,查看结果,可以看到出现了跟之前记录的完全不一样的 IP 地址。

71-2.png

将此 IP 地址配置到白名单中,发现已经能够成功连接了!希望如果你也遇到这个问题,能帮到你~

参考资料:https://www.runoob.com/linux/linux-comm-w.html

扫描二维码,在手机上阅读!


文章评论