[服务器初体验] SSH登录成功后,我的新Linux服务器“空空如也”?三件必做的事让它安全又顺手

发布于:2025-05-28 ⋅ 阅读:(20) ⋅ 点赞:(0)

更多云服务器知识,尽在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权限!否则,你可能会把自己锁在服务器外面!就像把家门反锁了,结果发现钥匙锁屋里了,那就糗大了!

确认无误后,操作如下:

  1. 用你的新用户(如hostoladmin)SSH登录到服务器。
  2. 编辑SSH服务的配置文件: sudo nano /etc/ssh/sshd_config
  3. 在文件里找到类似PermitRootLogin yes或者PermitRootLogin prohibit-password这样的行。把它修改为: PermitRootLogin no 如果找不到这行,就手动在文件末尾添加一行。
  4. 保存文件并退出编辑器 (Nano编辑器是Ctrl+O保存,回车确认,然后Ctrl+X退出)。
  5. 重启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祝你的服务器之旅一切顺利,如果你在后续的使用中遇到任何问题,或者想了解更多服务器运维的干货,随时欢迎回来看看我们的分享哦!


网站公告

今日签到

点亮在社区的每一天
去签到