作为后端开发、运维或网安领域的必备技能,Linux 系统的基础操作和 SSH 服务配置是入门的第一道门槛。本文将从文件目录操作、用户权限、系统目录结构到 SSH 服务的安装与配置,带你系统梳理核心知识点,扫清学习路上的障碍。


一、Linux 文件与目录操作:掌握核心命令

Linux 的文件与目录操作是日常使用的基础,所有操作都遵循 **「命令名称 + 选项(以-开头) + 参数 / 对象」** 的格式,以下是高频使用的核心命令:

表格

命令功能典型用法
ls查看目录内容(对应 Windows 的dirls -l(查看详细信息)、ls -a(显示隐藏文件)
cd切换目录cd /home(绝对路径切换)、cd ..(回到上级目录)、cd ~(回到当前用户家目录)
pwd显示当前工作目录的绝对路径直接执行pwd即可
mkdir创建目录mkdir abc(单级目录)、mkdir -p a/b/c(递归创建多级目录)
touch创建空文件touch hello.txt
cp复制文件 / 目录cp 1.txt ./test/(复制文件)、cp -r test test2(递归复制目录)
mv移动或重命名文件 / 目录mv 1.txt test/(移动文件)、mv 1.txt 2.txt(重命名文件)
rm删除文件 / 目录rm 1.txt(删除文件)、rm -rf test(强制递归删除目录,需谨慎使用)
cat/more/less查看文件内容cat 1.txt(直接输出全部内容)、less 1.txt(可上下滚动查看)

路径表示:绝对路径 vs 相对路径

  • 绝对路径:从根目录/开始的完整路径,例如/home/enjoy/1.txt,不受当前工作目录影响,定位精准。
  • 相对路径:从当前工作目录开始的路径,例如./1.txt(当前目录下的文件)、../enjoy/1.txt(上级目录下 enjoy 文件夹中的文件)。
  • 特殊符号速记
    • .:代表当前目录
    • ..:代表上级目录
    • ~:代表当前用户的家目录

二、用户与权限:分清普通用户与管理员

Linux 是多用户多任务系统,用户权限的区分是系统安全的基础:

  • 用户切换:使用su命令,su root可以切换到 root 管理员用户(需输入 root 密码)。
  • 提示符标识
    • $:普通用户的命令提示符
    • #:root 管理员用户的命令提示符
  • 家目录区别
    • 普通用户:家目录在/home/用户名下,例如用户enjoy的家目录是/home/enjoy
    • root 用户:家目录是/root,是系统管理员的专属目录

三、系统目录结构:理解 Linux 的文件树

Linux 采用树形目录结构,以根目录/为唯一起点,没有 Windows 的 C 盘、D 盘这类盘符概念,核心目录功能如下:

表格

目录功能
/bin存放系统基础命令(所有用户可执行)
/sbin存放系统管理员专用命令(仅 root 可执行)
/etc存放系统所有配置文件(如 SSH 配置、网络配置等)
/home普通用户的家目录集合
/rootroot 管理员的家目录
/var存放经常变化的文件(如系统日志、邮件、缓存等)
/usr存放软件库、文档和用户安装的软件
/dev存放硬件设备文件(如硬盘、键盘、鼠标等)

四、SSH 服务配置:远程连接的核心

SSH 是 Linux 系统远程管理的必备服务,也是开发和运维工作中最常用的工具,以下是完整的配置流程:

1. 安装 SSH 服务

不同 Linux 发行版的包管理工具不同,安装命令也有区别:

  • Ubuntu/Debian 系列

    bash

    运行

    # 更新软件源(解决软件包找不到的问题)
    sudo apt update
    # 安装SSH服务
    sudo apt install openssh-server
    
  • RedHat/CentOS 系列

    bash

    运行

    sudo yum install openssh-server
    

2. 服务管理命令

安装完成后,可以通过以下命令管理 SSH 服务:

bash

运行

# 启动SSH服务
sudo service ssh start
# 停止SSH服务
sudo service ssh stop
# 重启SSH服务(修改配置后必须执行)
sudo service ssh restart
# 查看SSH服务状态
sudo service ssh status

3. 核心配置文件修改

SSH 服务的核心配置文件位于/etc/ssh/sshd_config,可以使用nanovim编辑器进行修改,关键配置项如下:

  • PermitRootLogin yes:允许 root 用户通过 SSH 远程登录(生产环境建议改为no提升安全性)
  • PasswordAuthentication yes:允许使用密码进行认证(关闭后可使用密钥登录,更安全)

修改完成后,必须执行sudo service ssh restart重启服务,配置才会生效。

4. 远程连接工具与参数

常用的 SSH 远程连接工具:

  • Xshell:用于 SSH 远程命令行操作
  • XFTP:用于本地与服务器之间的文件传输

连接核心参数:

  • 协议:SSH
  • 主机:目标服务器的 IP 地址
  • 端口:默认22(生产环境建议修改为非默认端口,防止暴力破解)
  • 认证方式:密码认证 / 密钥认证

五、重点与难点总结

重点

  1. 目录操作命令:ls/cd/pwd的使用(考试与实操高频考点)
  2. 文件操作命令:touch/mkdir/cp/mv/rm的正确用法(注意rm -rf的风险)
  3. 路径表示:绝对路径与相对路径的区别(易错点,需熟练区分)
  4. SSH 核心配置:PermitRootLoginPasswordAuthentication参数的设置

难点

  1. 权限管理:普通用户仅能操作自己的家目录和公共目录,root 用户拥有系统所有权限,需注意权限边界。
  2. 服务配置:修改 SSH 配置文件后必须重启服务,否则配置不会生效,这是新手最容易踩坑的地方。
  3. 安全防护:针对 SSH 暴力破解,可采取修改默认端口、禁用 root 远程登录、使用密钥认证等措施。

六、实操练习

基础操作练习

  1. /home/enjoy目录下创建a.test文件和aaa目录:

    bash

    运行

    # 绝对路径方式
    touch /home/enjoy/a.test
    mkdir /home/enjoy/aaa
    # 相对路径方式(当前在/home/enjoy目录下)
    touch a.test
    mkdir aaa
    
  2. a.test文件移动到aaa目录中:

    bash

    运行

    # 绝对路径方式
    mv /home/enjoy/a.test /home/enjoy/aaa/
    # 相对路径方式(当前在/home/enjoy目录下)
    mv a.test aaa/
    

SSH 服务实践

  1. 在 Ubuntu 系统安装并配置 SSH 服务(参考上文安装与配置步骤)
  2. 使用 Xshell 填写服务器 IP、端口、用户名和密码,完成远程连接
  3. 修改/etc/ssh/sshd_config中的PermitRootLoginno,重启服务后测试 root 用户无法登录

安全实验

  1. 使用hydra工具对 SSH 服务进行密码爆破测试,模拟恶意攻击场景
  2. 分析爆破结果,验证弱密码的风险
  3. 思考防护措施:修改默认端口、禁用 root 远程登录、使用密钥认证、限制登录 IP 等
Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐