当前位置: 首页 > news >正文

Ubuntu Server 22.04.3 LTS 新机到手:5分钟搞定root密码、SSH远程和sudo免密(保姆级教程)

Ubuntu Server 22.04.3 LTS 极速初始化指南:从开箱到高效运维

刚拿到全新的Ubuntu Server服务器时,那种既兴奋又忐忑的心情想必每位技术人都经历过。面对命令行界面,新手可能会手足无措,而有经验的开发者则希望能用最短时间完成基础配置,尽快进入真正的开发或部署工作。本文将带你用5分钟完成三个关键设置:激活root账户、配置SSH远程登录、实现sudo免密操作,打造一个既安全又高效的服务器环境。

1. 初始登录与root账户激活

首次接触Ubuntu Server时,系统默认会创建一个普通用户,而root账户处于禁用状态。这种设计虽然增强了安全性,但在某些运维场景下,我们需要快速获取完整的系统权限。

通过云控制台或物理机直接登录后,打开终端输入以下命令设置root密码:

sudo passwd root

系统会依次提示:

  1. 当前普通用户密码(用于sudo权限验证)
  2. 新root密码(建议使用强密码组合)
  3. 确认root密码

设置成功后,可以立即测试root账户是否可用:

su -

输入刚设置的root密码后,提示符会从$变为#,表示已获得root权限。测试完毕后,记得用exit返回普通用户,避免长时间在root环境下误操作。

安全提示:虽然激活了root账户,但日常操作仍建议使用普通用户+sudo的方式,仅在必要时切换root身份。

2. SSH远程连接全攻略

现代服务器管理几乎都依赖SSH远程连接,Ubuntu Server默认已安装SSH服务,但需要进行一些优化配置。

2.1 基础SSH配置

首先检查SSH服务状态:

sudo systemctl status ssh

如果服务未运行,使用以下命令启动并设置开机自启:

sudo systemctl enable --now ssh

2.2 允许root通过SSH登录(可选)

虽然不建议长期开启,但在内网等安全环境下,临时允许root SSH登录可以简化管理流程。编辑SSH配置文件:

sudo nano /etc/ssh/sshd_config

找到PermitRootLogin参数,修改为:

PermitRootLogin yes

保存后重启SSH服务:

sudo systemctl restart ssh

2.3 密钥认证设置

密码登录存在被暴力破解的风险,更安全的方式是使用SSH密钥对。在本地机器生成密钥:

ssh-keygen -t ed25519

将公钥上传到服务器:

ssh-copy-id username@server_ip

之后可以禁用密码登录,在/etc/ssh/sshd_config中添加:

PasswordAuthentication no

3. sudo免密配置技巧

频繁输入sudo密码不仅影响效率,在自动化脚本中更是麻烦。通过以下配置可以让特定用户或用户组免密使用sudo。

3.1 修改sudoers文件

使用visudo命令安全编辑配置文件:

sudo visudo

找到对应你的用户组的行(通常是%sudo%admin),修改为:

%sudo ALL=(ALL:ALL) NOPASSWD: ALL

保存退出后,立即生效,无需重启任何服务。

3.2 特定命令免密

如果觉得全局免密风险太大,可以精确到具体命令。例如只允许免密执行apt更新:

username ALL=(ALL) NOPASSWD: /usr/bin/apt update

4. 一站式初始化脚本

对于需要频繁部署服务器的场景,可以将上述步骤整合为一个自动化脚本:

#!/bin/bash # 设置root密码 echo "设置root密码..." sudo passwd root # 配置SSH echo "配置SSH..." sudo sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config sudo systemctl restart ssh # 配置sudo免密 echo "配置sudo免密..." sudo bash -c 'echo "%sudo ALL=(ALL:ALL) NOPASSWD: ALL" >> /etc/sudoers' # 生成SSH密钥对 echo "生成SSH密钥..." ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519 -N "" echo "初始化完成!"

将此脚本保存为init_server.sh,添加执行权限后运行:

chmod +x init_server.sh ./init_server.sh

5. 安全加固建议

完成基础配置后,建议立即进行以下安全措施:

  • 更改默认SSH端口:编辑/etc/ssh/sshd_config,修改Port参数
  • 设置防火墙规则:仅允许必要的端口
    sudo ufw allow 22/tcp sudo ufw enable
  • 定期更新系统
    sudo apt update && sudo apt upgrade -y
  • 安装fail2ban:防止暴力破解
    sudo apt install fail2ban

6. 常见问题排查

即使按照教程操作,也可能会遇到各种问题。以下是几个典型场景的解决方案:

SSH连接被拒绝

  • 检查服务是否运行:sudo systemctl status ssh
  • 检查防火墙设置:sudo ufw status
  • 验证端口是否监听:sudo netstat -tulnp | grep ssh

sudo免密不生效

  • 确认修改的是正确的用户组
  • 检查是否有其他规则覆盖
  • 使用sudo -l验证当前用户的sudo权限

root账户无法登录

  • 确认PermitRootLogin设置为yes
  • 检查/etc/ssh/sshd_config语法是否正确
  • 查看认证日志:sudo tail -f /var/log/auth.log

在实际运维中,我发现最常出错的环节是SSH配置文件的编辑。有一次因为少了一个空格,导致整个SSH服务无法启动。因此建议在修改关键配置文件前,先做好备份,并使用sudo sshd -t测试配置文件的正确性。

http://www.jsqmd.com/news/688920/

相关文章:

  • 深入AD9364的时钟树:从40MHz晶振到1280MHz BBPLL,详解SPI配置背后的频率合成逻辑
  • 拯救你的B站记忆:m4s-converter让缓存视频重获新生
  • 无人驾驶中的控制算法选型:为什么MPC比PID更能“预见”延迟?(基于自行车模型详解)
  • 谷歌浏览器插件「Brower-Books」: 把整个浏览器变成你的「云端书架」
  • 支付中心怎么设计?一次讲清支付单、渠道单、状态机、回调处理与对账补单
  • STM32F103驱动移远EC200N-CN 4G Cat.1模组,从硬件接线到TCP透传的保姆级避坑指南
  • 零代码小程序制作平台有哪些? - 码云数智
  • 小程序商城怎么制作?注册、搭建、上线全流程 - 码云数智
  • 中小型制造企业ENOVIA许可证成本控制的务实技巧
  • 保姆级教程:在STM32F429上从官网下载FreeRTOS 10.4.6源码并完成移植(附完整源码包)
  • 毕业不再“爆肝”:如何用百考通AI将论文写作变成结构化工程
  • 试用支持postgresql wire协议的duckdb服务器duckgres
  • 别再手动调图了!用ScottPlot在WinForm里实现鼠标滚轮+右键拖拽缩放(附完整源码)
  • 从WebRTC到Speex:聊聊那些开源语音引擎里的AEC模块是怎么工作的
  • 微信小程序商城怎么制作?新手零基础教程 - 码云数智
  • 市场知名的玻璃管转子流量计厂家排名 - 品牌企业推荐师(官方)
  • 告别SPI配置烦恼:手把手教你用Python脚本批量读写AD9361寄存器
  • 【射影几何】交比:从线段分割到透视不变的核心法则
  • 高效论文降重方案:哪些降重软件可以同时降低查重率和AIGC疑似率?2026年TOP5平台深度对比指南
  • 质子交换膜燃料电池(PEMFC)液态水非等温COMSOL仿真模型介绍文档
  • 2025届毕业生推荐的五大AI辅助论文平台实际效果
  • 2026年4月上海松江区别墅/婚房/中古风/智能家居/原木风/装修公司选型指南 - 2026年企业推荐榜
  • PTC云授权与本地授权混合管理模式全解析
  • 别再死记硬背竞赛代码了!深度解析2018年单片机赛题背后的嵌入式系统设计思维
  • VBA Replace函数实战指南:从基础语法到高效数据处理
  • OpenClaw浏览器自动化实战:从零写一个网页监控机器人
  • 微信好友关系一键检测:终极免费工具快速发现谁删除了你
  • 保姆级教程:在树莓派上用Node-RED连接Home Assistant,实时监控CPU温度与内存
  • 2026年黄金回收指南:这五家高评价实体店为何备受信赖? - 品牌企业推荐师(官方)
  • 智驾进阶之路:V2X打通车与万物互联,航芯安全芯片守护产业行稳致远