打开网易新闻 查看精彩图片

2024年Stack Overflow调研显示,87%的数据工程师每周至少3天要登录远程服务器。但很多人入职半年还在用图形界面点鼠标——就像拿着智能手机当计算器用。

服务器没有屏幕。当你需要排查凌晨2点的数据管道崩溃,唯一能用的就是SSH(安全外壳协议)连进去的黑色终端。这篇用一台真实Ubuntu 24.04服务器演示,从登录到创建用户,走完数据工程师的日常第一公里。

第一步:SSH登录,你的服务器没有"开机键"

第一步:SSH登录,你的服务器没有"开机键"

远程服务器的访问方式像租房——房东给你钥匙(私钥)或密码,但不会陪你进门。打开本地终端,输入:

ssh root@143.110.225.134

把IP换成你的实际公网地址。首次连接会弹出警告,问你要不要把这台主机加入"已知列表"。这是SSH的安全机制,防止中间人攻击,输入yes。

密码验证通过后,你会看到这样一段系统信息:

System load: 0.0 | Memory usage: 20% | Usage of /: 4.8% of 47.39GB

打开网易新闻 查看精彩图片

root@ubuntu:~# 这个提示符透露两件事:当前用户是root(超级管理员),主机名是ubuntu。波浪号~代表你在/root目录——Linux世界的"总统套房",权限最大,也最容易手滑删库。

输入pwd(打印工作目录)确认位置。这时候你离生产环境还有一步:绝对不要用root跑数据任务。

第二步:创建普通用户,给权限做减法

第二步:创建普通用户,给权限做减法

root账户像一把没有保险的手枪。数据工程规范要求:日常操作走普通用户,需要提权时再用sudo(超级用户执行)。创建用户odhiambo:

sudo adduser odhiambo

adduser和useradd的区别,类似"全自动洗衣机"和"半自动"——前者交互式引导,自动创建主目录、设置密码、收集用户信息;后者只干核心活,配置得自己补。新手用adduser,省下的时间够喝两杯咖啡。

命令执行后会连环提问:密码、全名、房间号...这些字段存在/etc/passwd里,后期做审计追溯时能定位"谁干的"。数据合规不是摆设,2023年某金融科技公司就因操作日志缺失被罚了120万。

用户创建完,记得把它加入sudo组:

打开网易新闻 查看精彩图片

usermod -aG sudo odhiambo

-aG的意思是append to group(追加到组),不是覆盖。Linux权限设计像俄罗斯套娃,用户-组-其他人三层,搞错一个参数就可能把自己锁在门外。

为什么数据工程师必须啃下这块硬骨头

为什么数据工程师必须啃下这块硬骨头

云厂商的托管服务越丰富,Linux命令行的价值反而越隐蔽。Airflow调度失败时,你需要ssh进去看/var/log/里的日志;Spark作业OOM(内存溢出),得用htop(交互式进程查看器)定位哪个容器在吞内存;甚至简单的CSV文件预览,服务器上可能没有安装Excel,cat(连接并打印文件)和head(查看文件头部)才是唯一选择。

一位从分析师转数据工程师的读者跟我说:"以前觉得写SQL就是全部,现在每天grep(全局正则搜索)日志的时间比写查询还长。"这不是退化,是基础设施下沉后的必然——当你管理的是50台而非5台机器,图形界面的效率曲线会断崖式下跌。

Ubuntu 24.04 LTS(长期支持版)的默认shell是bash,但越来越多的团队在切zsh或fish,为了自动补全和语法高亮。工具链在进化,但底层逻辑没变:文件系统、进程管理、权限控制、网络诊断,这四块构成了数据工程的运维底座。

有个细节很多人忽略:SSH默认端口是22,但生产环境普遍改成高位端口,配合密钥认证禁用密码登录。这是等保2.0的基础要求,也是你简历上"熟悉Linux系统安全"的落地证据。

回到那台演示服务器。当你用odhiambo账号重新登录,执行sudo apt update时,系统会要求输入密码——这是sudo的缓存机制,默认5分钟内免重复验证。这个设计平衡了安全与便利,但也在提醒你:root密码应该锁在密码管理器里,而不是便利贴上。

云原生时代,Kubernetes和Docker把底层抽象得更彻底,但故障排查时你终究要exec进容器,面对的依然是sh或bash。Linux命令行不是复古情怀,是技术栈里的"通用语"——就像程序员界的英语,不精通不会死,但天花板肉眼可见。

你现在登录服务器的姿势,是密码还是密钥?如果答案是前者,下一个被审计盯上的可能就是你。