更多云服务器知识,尽在hostol.com
嘿,各位新晋的服务器“岛主”们!当你满怀期待地拿下一台全新的Linux服务器,通过SSH工具敲下用户名和密码(或者加载了密钥),屏幕上终于跳出那熟悉的命令行提示符时,是不是既有点小激动,又有点小迷茫?“我成功进来了!然后呢……?” 看着这台“一穷二白”、仿佛“毛坯房”一样的服务器,你可能在想,接下来该干点啥才能让它既安全可靠,用起来又得心应手呢?别急,万事开头难,但只要掌握了要领,后续就能顺风顺水啦!今天,Hostol就来给你支支招,告诉你SSH登录成功后,有三件“头等大事”你必须立刻安排上,它们是后续所有精彩操作的坚实基础!
第一件大事:给系统“沐浴更衣”——全面更新软件包
拿到新服务器,就像拿到一部新手机或者新电脑,第一件事干嘛?对,检查更新!服务器也是一个道理。
1. 为什么要先更新?—— 安全与稳定的“地基”
你拿到的服务器镜像(操作系统安装盘)可能已经制作了一段时间了,从它被制作出来到你手上,这段时间里,操作系统本身以及它所包含的成百上千个软件包可能已经发布了N个安全补丁和重要的错误修复。不先更新,就等于把你的“新家”大门敞开,还可能留着几个“后窗户”没关严实,这可不行!
更新的好处,就像给你的新家来一次彻底的大扫除和安防升级:
- 堵上安全漏洞: 这是最重要的!很多黑客攻击利用的就是已知的、但尚未修复的系统漏洞。
- 修复已知Bug: 新版本软件通常会修复旧版本中发现的各种奇奇怪怪的问题,让系统运行更稳定。
- 获取最新功能(有时): 虽然我们主要追求稳定和安全,但有时更新也会带来一些有用的新特性。
所以,别犹豫,连接成功后的第一把火,就应该烧向“更新”!
2. 动手时刻:不同发行版的更新指令
Linux发行版众多,咱们挑最常见的Debian/Ubuntu系和Red Hat系(CentOS, AlmaLinux, Rocky Linux等)来说:
对于 Debian/Ubuntu 系统:
# 首先,刷新本地的可用软件包列表信息
sudo apt update
# 然后,升级所有已安装的软件包到最新版本
sudo apt upgrade -y
# 或者,更彻底一点,处理可能因依赖关系变化而需要增删包的情况
# sudo apt full-upgrade -y
这里的sudo
是以管理员权限执行命令,apt update
是“查查最近有哪些新货和补丁”,apt upgrade
是“把能升级的都给我换成最新的”,-y
参数表示自动确认,省得你一直按“Y”。
对于 CentOS/RHEL/AlmaLinux/Rocky Linux 系统:
# 检查并升级所有软件包
sudo dnf update -y
# 或者在一些老版本的CentOS上,可能是yum
# sudo yum update -y
dnf
(或 yum
) 会自动处理更新列表和升级软件包的过程。
这个过程可能会花几分钟到十几分钟不等,取决于你的网络速度和需要更新的软件包数量。泡杯茶,耐心等待它完成吧!
3. (小提示)内核更新与重启
如果在更新过程中,你看到有Linux内核(kernel)相关的软件包被升级了,那么通常建议你在所有更新完成后重启一下服务器,以使新的内核生效。
sudo reboot
这就像电脑系统更新后提示你“立即重启”一样。当然,如果你的服务不能随便重启,那就得计划一个维护窗口了。
第二件大事:创建你的“日常管家”——普通用户与Sudo权限
很多云服务器提供商,默认给你的可能是root
用户直接登录。root
用户,那可是Linux世界里的“皇帝”,拥有一切至高无上的权力,想干啥干啥。听起来很爽,对吧?但正因为如此,直接用root
用户进行日常操作,其实是个非常危险的习惯!
1. 告别“裸奔”的root:为何不应直接用root操作?
想象一下,如果你是皇帝,会亲自下御膳房炒菜,或者亲自去城门口站岗吗?肯定不会嘛!风险太高了!
- 误操作风险: 人非圣贤孰能无过。万一你一不小心敲错一条命令(比如
rm -rf /*
这个传说中的“删库跑路”命令),以root
身份执行,那后果不堪设 meninas。用普通用户,权限受限,很多危险操作会被直接拒绝。 - 安全风险: 如果黑客通过某种方式获取了你
root
用户的密码或SSH密钥,那你的服务器就彻底“裸奔”了,人家想怎么折腾就怎么折腾。 - 审计追踪困难: 如果多个人都用
root
登录,出了问题很难追查是谁干的。
所以,最佳实践是:创建一个普通的、非root
的用户用于日常登录和操作,当确实需要管理员权限时,再通过sudo
命令临时“借用”一下root
的权力。这叫“最小权限原则”,是安全的基本功。
2. 三步打造你的安全账户
步骤一:添加新用户,比如叫“管家张三” (adduser
的亲切问候)
咱们来创建一个名为hostoladmin
(你可以换成你喜欢的名字)的新用户:
sudo adduser hostoladmin
执行后,系统会引导你设置新用户的密码,并填写一些可选的个人信息(可以直接回车跳过)。记住,给这个新用户设置一个超级强壮的密码!
步骤二:授予Sudo“令牌”,让张三能“代行皇权” (usermod
的神奇力量)
光有普通用户还不行,他得能在需要的时候“摇身一变”成管理员。这就需要把他加入到特定的用户组里,这个组的成员可以使用sudo
命令。
对于 Debian/Ubuntu 系统,这个组通常叫 sudo
:
sudo usermod -aG sudo hostoladmin
对于 CentOS/RHEL/AlmaLinux/Rocky Linux 系统,这个组通常叫 wheel
:
sudo usermod -aG wheel hostoladmin
-aG
参数的意思是“追加(append)到辅助组(Group)”。现在,hostoladmin
用户就可以在需要时,在命令前加上sudo
来执行管理员任务了,比如sudo apt update
。
测试一下: 先退出当前SSH会话,然后用新创建的hostoladmin
用户和其密码重新登录。登录后,尝试执行一个需要管理员权限的命令,比如sudo apt update
或者sudo ls /root
。如果系统提示你输入hostoladmin
的密码,并且命令成功执行,那就说明sudo
配置成功啦!
步骤三:(强烈推荐)给root的“大门”加把锁:禁用root直接SSH登录
既然我们有了可以sudo
的普通用户,那root
用户直接通过SSH登录的“大门”就可以考虑关上了,这样更安全。
重要警告:在执行这一步之前,请务必、务必、务必确认你的新用户(如hostoladmin
)能够成功登录,并且能够正常使用sudo
获取root权限!否则,你可能会把自己锁在服务器外面!就像把家门反锁了,结果发现钥匙锁屋里了,那就糗大了!
确认无误后,操作如下:
- 用你的新用户(如
hostoladmin
)SSH登录到服务器。 - 编辑SSH服务的配置文件:
sudo nano /etc/ssh/sshd_config
- 在文件里找到类似
PermitRootLogin yes
或者PermitRootLogin prohibit-password
这样的行。把它修改为:PermitRootLogin no
如果找不到这行,就手动在文件末尾添加一行。 - 保存文件并退出编辑器 (Nano编辑器是
Ctrl+O
保存,回车确认,然后Ctrl+X
退出)。 - 重启SSH服务使配置生效:
sudo systemctl restart sshd # 或者在一些老系统上可能是: # sudo service ssh restart
现在,尝试用root
用户直接SSH登录,应该会被拒绝了。以后你就都用新创建的普通用户登录,需要时再sudo
,是不是感觉专业多了?更进一步的安全措施是为你的普通用户配置SSH密钥登录,彻底告别密码(这是另一个话题,但非常推荐!)。
第三件大事:筑起第一道“防火墙”——UFW/firewalld基础配置
服务器暴露在公网上,就像一座没有城墙的城市,各路“牛鬼蛇神”(恶意扫描、黑客攻击)都可能来“串门”。防火墙就是你服务器的第一道“城防系统”,它能帮你决定哪些“访客”(网络连接)可以进来,哪些得拒之门外。
1. 防火墙:不请自来的“访客”的克星
防火墙的基本工作原则通常是“默认拒绝所有入站连接,按需允许特定服务”。这就像小区保安,不认识的人一律不让进,除非你有通行证(允许规则)或者要去拜访的业主(特定服务端口)打了招呼。
2. UFW上手指南 (以Ubuntu为例,Debian也适用)
UFW (Uncomplicated Firewall) 是Ubuntu上一个非常简单易用的防火墙管理工具,对新手特别友好。
步骤一:安装与检查状态 (通常已预装)
sudo apt install ufw # 如果还没装的话
sudo ufw status verbose # 查看当前防火墙状态和规则 (verbose会显示更详细信息)
初始状态通常是Status: inactive
。
步骤二:设定“门禁规则”:默认拒绝入,允许出
这是个好习惯,先关上所有“未经许可”的门。
sudo ufw default deny incoming # 拒绝所有未经明确允许的入站连接
sudo ufw default allow outgoing # 允许所有出站连接 (服务器主动向外发起的连接通常是安全的)
步骤三:给“自己人”开门:放行SSH和其他必要服务
最最最重要的一步!在你启用防火墙之前,一定要先允许SSH连接,否则你启用防火墙的瞬间,就会把自己踢出门外,再也连不上了!
sudo ufw allow ssh # 允许默认的SSH端口 (22)
# 或者,如果你修改了SSH端口,比如改成了2222:
# sudo ufw allow 2222/tcp
如果你的服务器要跑网站,通常还需要允许HTTP和HTTPS:
sudo ufw allow http # 允许HTTP (80端口)
sudo ufw allow https # 允许HTTPS (443端口)
UFW很聪明,它知道ssh
, http
, https
这些常用服务的默认端口。你也可以直接指定端口号,比如sudo ufw allow 8080/tcp
。
步骤四:启动!防火墙正式上岗
确认你已经允许了SSH之后,就可以大胆启用防火墙了:
sudo ufw enable
系统会提示你“这可能会中断现有连接”,输入y
确认。然后再次检查状态:
sudo ufw status verbose
你应该能看到状态是active
,并且列出了你允许的规则。
3. CentOS/RHEL/AlmaLinux/Rocky Linux的伙伴:firewalld简介
在这些发行版上,更常用的防火墙管理工具是firewalld
。它的概念和UFW略有不同,引入了“区域”(zones)的概念,但基本目标一致。
简单操作示例:
# 启动并设置开机自启 (通常已默认启动)
sudo systemctl start firewalld
sudo systemctl enable firewalld
# 允许SSH服务 (public区域是默认区域)
sudo firewall-cmd --permanent --zone=public --add-service=ssh
# 允许HTTP和HTTPS
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
# 重新加载防火墙规则使其生效
sudo firewall-cmd --reload
# 查看当前规则
sudo firewall-cmd --list-all
firewalld
功能更强大,但初上手可能比UFW稍微复杂一点点。
三件事之后,焕然一新!接下来呢?
恭喜你!完成了这三件大事——系统更新、创建安全的日常用户、配置基础防火墙——你的新Linux服务器已经从一个“毛坯房”变成了一个有基本安防的“简装房”了,安全性和易用性都上了一个大台阶!
但这只是一个开始。接下来,你可能还需要:
- 设置正确的时区:
sudo timedatectl set-timezone 'Asia/Shanghai'
(替换成你需要的时区)。 - 修改一个好记的主机名:
sudo hostnamectl set-hostname 'my-awesome-server'
。 - 进行更深入的安全加固: 比如我们之前聊过的Fail2Ban防暴力破解、更精细的SSH配置、定期安全审计等。
- 部署你的应用程序: Web服务、数据库、或者其他你需要的服务。
- 配置监控和备份: 确保你能及时了解服务器状态,并且数据高枕无忧。
这些都是后续可以逐步探索和实践的。但无论如何,今天这“三板斧”是你踏上愉快服务器管理之路不可或缺的第一步!
是不是感觉没那么难?新服务器到手,不再是“老虎吃天,无从下口”了。记住这三件法宝:先给系统“大保健”清爽一下,再给自己配个“安全小马甲”日常穿着,最后给家门装个“智能门禁”。做完这些,你就可以更安心、更从容地在你的Linux服务器上施展拳脚,搭建你的数字世界了!Hostol祝你的服务器之旅一切顺利,如果你在后续的使用中遇到任何问题,或者想了解更多服务器运维的干货,随时欢迎回来看看我们的分享哦!