阿里云主机 CentOS 怎么登录?从零开始不踩坑

最近有好几个朋友问我:“我买了阿里云的 ECS 服务器,选了 CentOS 系统,可是拿到手之后完全不知道该怎么登录进去,能不能出一篇最详细的教程?” 说实话,这个问题对新手来说确实是一道坎,当年我自己第一次买服务器的时候,也对着屏幕愣了半天——IP、密码、端口、SSH 客户端……一堆陌生的词堆在一起,感觉比大学高数还抽象。
今天我就把这件事彻底掰开揉碎讲清楚,保证你看完之后,不仅能顺利登录上阿里云的 CentOS 主机,还能理解背后的原理,下次换华为云、腾讯云也能举一反三,文章会尽量避免那种冷冰冰的“步骤1、步骤2”机械感,因为登录这东西,实际动手时每个细节都可能让你卡住,我会把我踩过的坑、遇到过的迷惑都写出来,让你少走弯路。
第一步:确认你手里有什么
在开始敲键盘之前,先打开你的阿里云控制台,看一看你手头有哪些信息,登录阿里云官网(aliyun.com),进到“云服务器 ECS”页面,找到你买的那台实例,你需要准备好以下几个东西:
1、公网 IP 地址 —— 这相当于你服务器在互联网上的门牌号,通常是一个类似47.xxx.xxx.xxx 的数字,注意,内网 IP 是不能从互联网直接登录的,一定要看公网 IP。

2、实例的登录密码 —— 如果你是创建实例时设置的密码,或者后来重置过密码,那就是它,很多人会在这里犯迷糊:密码是我当初设的那一串吗?如果不确定,阿里云后台提供“重置实例密码”的功能,重设之后必须重启服务器才会生效,这很关键。
3、SSH 端口号 —— 默认是 22,如果你没有改过,22,如果你在安全组里改过端口(比如为了防暴力破解改成 2222),那就要用新的端口号。
4、用户名 —— CentOS 系统的默认超级管理员用户名是root,如果你创建了其他普通用户,也可以用自己的用户名登录,但第一次登录通常用 root。
这四个要素缺一不可,尤其是密码,很多人因为长时间不用忘了,然后着急忙慌去重置,结果忘记重启实例,导致怎么都登不上——这种低级错误我至少犯过三次。
第二步:选择合适的登录方式

登录阿里云 CentOS 主机主要有两种方式:密码登录 和SSH 密钥对登录,对于新手我建议先用密码登录,等熟悉了再换成密钥对,更安全也更方便后续自动化。
这种方法适合在 Windows 或 macOS 上使用第三方 SSH 客户端,Windows 上常用的工具有PuTTY、Xshell、Windows Terminal(需配合 OpenSSH);macOS 和 Linux 系统则可以直接用系统自带的终端(Terminal)。
以 Windows 下的 PuTTY 为例:
1、下载 PuTTY(官方免费,直接搜 putty 下载即可),打开后你会看到一个配置界面。
2、在 “Host Name (or IP address)” 里填入你的公网 IP 地址。
3、在 “Port” 里填入端口号(默认 22)。
4、“Connection type” 选择 SSH。
5、点击 “Open”,会弹出安全警告,问你是否信任该主机,第一次连接时,PuTTY 会展示这台服务器的“主机密钥指纹”,你比对一下阿里云控制台里显示的指纹,一致的话就点“Accept”,这一步是为了防止中间人攻击,一般新手直接点 Accept 也没问题,但养成核对指纹的习惯是好事。
6、连接成功后,终端里会出现login as: 提示,输入root 回车。
7、然后提示root@xxx's password:,输入你的登录密码(注意:输入时屏幕上不会有任何显示,甚至连星号都没有,这是正常的!很多人以为键盘坏了,其实只是在盲打),输完按回车,如果密码正确,你会看到类似[root@iZxxx ~]# 的提示符,这就说明你已经成功登录了。
如果在 macOS 或 Linux 上,更简单: 打开终端,直接输入命令:
ssh root@你的公网IP -p 端口号
例如ssh root@47.114.xx.xx -p 22,然后输入密码,回车即可。
卡住的高频原因排查:
- 密码错了?检查大小写和特殊字符,重置密码后是否重启了实例。
- 端口不对?确认安全组是否放行了该端口(阿里云的控制台里有“安全组”设置,必须添加一条“入方向”规则,允许你使用的端口访问)。
- IP 错了?确认是否填了公网 IP,不是内网 IP。
- 网络不通?尝试用ping 你的公网IP 看看能不能通,如果不通,可能是安全组没有放行 ICMP 协议,或者你家的网络环境限制了出站。
- 有时候买了按量付费的 ECS,但没绑弹性公网 IP,公网地址可能是空的——进实例详情页看看“网络配置”里有没有公网 IP。
方式二:用 SSH 密钥对登录(推荐进阶)
密钥对登录比密码更安全,也方便你后续用脚本或者工具批量管理多台服务器,不过第一次设置稍微复杂一点点。
操作步骤:
1、在阿里云控制台左侧找到“网络与安全”→“密钥对”,点“创建密钥对”,会提示你输入名称,然后自动生成一对密钥,一定要把私钥(.pem 文件)下载保存好!一旦关闭页面就再也下载不了了,只能重新创建。
2、创建完密钥对后,你需要把它绑定到你的 ECS 实例上,进到实例列表,选择“更多”→“绑定密钥对”,选择刚才创建的密钥,确认,注意:绑定后,实例会重启,之前设置的密码登录也会被禁用(取决于密钥对策略,有些情况下可以同时用密码,但阿里云默认绑定密钥对后禁用密码登录)。
3、然后你就可以用私钥文件登录了。
在 macOS/Linux 终端中:
ssh -i /路径/你的私钥.pem root@你的公网IP -p 22
注意:私钥文件的权限必须设置成只有自己可读,否则会报错,执行chmod 400 你的私钥.pem 即可。
在 Windows 的 PuTTY 中: 需要使用 PuTTYgen 把.pem 格式转换成 PuTTY 能识别的.ppk 格式,具体:打开 PuTTYgen,点击“Load”加载你的 .pem 文件,然后点“Save private key”保存为 .ppk,之后在 PuTTY 的连接设置中,找到“Connection→SSH→Auth”,点击“Browse”选择 .ppk 文件,再回到 Session 界面输入 IP 和端口,点击 Open 即可。
用密钥登录时,不会再弹出密码输入框,直接就能进去,如果失败了,最常发生的问题是:私钥文件权限不对(Windows 下一般不用管,但 Linux/macOS 必须 400)、或者阿里云控制台里没有正确绑定密钥对。
第三步:登录之后的“新手三件事”
成功登录只是开始,因为 CentOS 默认的 root 账户权限巨大,而且直接暴露在公网上,很容易被自动化的黑客脚本扫到并尝试暴力破解,所以登录后我建议立刻做三件事:
编辑/etc/ssh/sshd_config 文件,找到#Port 22 这一行,去掉注释,把 22 改成 一个不常用的端口,10022(注意不要和已有服务冲突),然后重启 SSH 服务:systemctl restart sshd,同时记得去阿里云安全组里放行新端口并删除旧的 22 端口规则,这样能挡住 90% 的脚本扫描。
2. 创建普通用户并禁用 root 直接登录
用adduser 用户名 创建新用户,passwd 用户名 设置密码,然后用usermod -aG wheel 用户名 赋予 sudo 权限,再回到/etc/ssh/sshd_config 找到PermitRootLogin yes 改成no,以后都先用普通用户登录,需要权限时用sudo,安全系数大大提升。
运行yum update -y(CentOS 7 或 8 用 yum,如果装了 CentOS 8 Stream 或者 9 可以用dnf update),把内核和常用软件包更新到最新,避免已知漏洞。
一些常见的“登录迷思”
问题:为什么我用手机上的 SSH 客户端(Termius)老是连不上?
手机的 App 逻辑和电脑一样,检查 IP、端口、用户名、密码是否都正确,有些手机 App 默认会走“代理”,如果代理配置不对,也会连不上,最简单的测试:用电脑先连一次,确定配置没问题,再用手机。
问题:我忘记密码了,在控制台重置了,但还是登不上?
大概率是忘记重启实例了,阿里云的密码重置是写到磁盘上的,但系统运行时读取的是内存中的密码缓存,必须重启实例才能生效,可以在控制台点“重启”,过一两分钟后再试。
问题:为什么我 ssh 命令敲下去,等了好久才提示“connection timed out”?
超时一般有两个原因:一是网络安全组没有放行你使用的端口(最常见);二是服务器本身 CPU 或内存爆满,导致 SSH 服务无响应(这种情况很少见,但如果你在服务器上跑了一些高负载程序,可能发生),可以用阿里云控制台的“远程连接”(VNC 方式)先进去排查。
问题:VNC 远程连接又是什么?
阿里云的控制台里有一个“远程连接”功能,它相当于给你一个“虚拟显示器”,不需要网络端口,直接通过网页模拟键盘鼠标去操作你的服务器,SSH 连不上,VNC 就是最后的救命稻草,不过 VNC 操作起来不太舒服,适合应急,建议还是把 SSH 正常配好。
写在最后:心态比技术重要
说实话,登录云服务器这件事,对于老手来说就跟开门一样自然,但对于新手,每一步都可能遇到意想不到的障碍,我见过有人因为字母大小写输错卡了半小时,有人因为没看清公网 IP 和内网 IP 的区别折腾了一天,这些都太正常了。
如果你按照上面的方法一步一步来,还是登不上去,不要慌,最有效的办法是:把所有信息写在一张纸上——公网 IP、端口、用户名、密码、是否用了密钥——一个一个对,然后去阿里云的控制台里用 VNC 登录进去,看看 SSH 服务是否启动(systemctl status sshd),再看看/var/log/secure 日志里有没有错误提示,如果日志显示“Authentication failure”,那基本是密码或密钥不对;如果显示“connection refused”,那就是端口没开或者 SSH 没启动。
登录只是万里长征第一步,之后你还要配置环境、装软件、部署应用,但只要过了这个坎,后面你会发现一切都豁然开朗,好了,现在就去打开你的终端吧,祝一次成功。
文章摘自:https://idc.huochengrm.cn/zj/27823.html
评论