Linux系统实施部署基础环境问题检查指南

🔍 Linux SSH 连接问题排查指南

故障现象:本机可执行 ssh localhost,但其他电脑无法通过 SSH 连接


️ 核心原因排查(按优先级排序)

  1. 防火墙拦截
  2. 本地防火墙:
sudo ufw status  # 检查UFW状态(Ubuntu)
sudo firewall-cmd --list-all  # 检查firewalld(CentOS)

修复命令:

sudo ufw allow 22  # 开放22端口
sudo firewall-cmd --add-service=ssh --permanent && sudo firewall-cmd --reload 
  • 云平台安全组:
  • 阿里云/ AWS/ 腾讯云需在控制台确认 入方向规则 放行 22 端口(尤其是 IPv4 规则)

  • SSH 服务监听配置错误

  • 检查 /etc/ssh/sshd_config
grep "ListenAddress" /etc/ssh/sshd_config
  • 若结果为 ListenAddress 127.0.0.1,则仅监听本地
    修复:注释该行或改为 ListenAddress 0.0.0.0
  • 重启服务:
sudo systemctl restart sshd 
  1. 网络层问题
  2. IP 可达性测试:
ping 本机局域网IP  # 从其他电脑执行
  • 若不通 → 检查网卡配置、路由器 ACL、VLAN 隔离
  • 端口监听验证:
ss -tlnp | grep 22  # 本机执行,应显示 0.0.0.0:22
  1. SELinux/TCP Wrappers 限制
  2. SELinux 日志检查:
sudo ausearch -m avc -ts recent | grep sshd

临时解决方案:

sudo setenforce 0  # 测试后需永久配置策略 
  • TCP Wrappers:
    检查 /etc/hosts.deny 是否包含 sshd: ALL(若有则删除)

📌 终极诊断流程
按顺序执行以下命令快速定位问题:

#1. 验证SSH服务状态
sudo systemctl status sshd 

#2. 检查监听范围(关键!)
sudo netstat -tuln | grep ':22'

#3. 测试本地外部访问(本机执行)
ssh $(hostname -I | awk '{print $1}')  # 使用实际IP连接自己 

#4. 外部设备诊断组合 
nc -zv 本机IP 22       # 端口连通性
traceroute 本机IP      # 网络路径 
telnet 本机IP 22       # 协议握手 

🌐 网络架构影响分析

场景 典型表现 解决方案
企业内网 VLAN 隔离导致不通 联系网络管理员放行子网
云服务器 安全组未配置公网入口 控制台添加 0.0.0.0/0 规则
双网卡主机 SSH 绑定错误网卡 修改 ListenAddress
动态 IP 环境 IP 变更导致连接失效 使用 DDNS 绑定域名

💡 特别提醒:
若主机位于 NAT 后(如家庭路由器),需配置 端口转发(外部端口 → 本机 22 端口)
使用 curl ifconfig.me 获取公网 IP 供外部连接测试,并通过路由器管理界面设置转发规则。

建议优先完成 防火墙配置检查(80%问题根源) → SSH 监听范围验证 → 云平台安全组审查 三步排查,10分钟内可解决多数连接问题。


💽 磁盘挂载状态判断与挂载流程指南

🔍 一、磁盘挂载状态判断(4种核心方法

  1. lsblk 可视化树形检测
lsblk -f  # 查看所有磁盘设备及挂载点 
  • ✅ 已挂载:MOUNTPOINT 列显示具体路径(如/mnt/data)
  • ❌ 未挂载:MOUNTPOINT 列为空

  • findmnt 精准定位

findmnt /dev/sdX1  # 替换X为磁盘标识(如sdb1)
  • 有输出 → 已挂载(显示挂载路径、文件系统)
  • 无输出 → 未挂载

  • mount 系统级验证

mount | grep "/dev/sd"  # 过滤所有磁盘挂载信息 
  1. /proc/mounts 内核级确认
cat /proc/mounts | grep "ext4\|xfs"  # 按文件系统类型检索 

📊 状态对照表

命令 已挂载特征 未挂载特征
lsblk MOUNTPOINT非空 MOUNTPOINT空白
df -h 显示磁盘容量和使用率 无目标磁盘信息
blkid 包含UUID但无挂载路径 仅显示基础信息

🛠️ 二、磁盘挂载全流程(5步操作指南)
场景示例:将新磁盘 /dev/sdb1 挂载至 /data

步骤1:基础准备

sudo fdisk -l | grep "Disk /dev/sd"  # 确认磁盘存在 
sudo mkdir -p /data                 # 创建挂载目录 

步骤2:文件系统创建

sudo mkfs.ext4 /dev/sdb1  # 格式化为ext4(可选xfs/btrfs)
若已格式化则跳过

步骤3:临时挂载(重启失效)

sudo mount /dev/sdb1 /data  # 执行挂载 
mount | grep sdb1           # 验证结果 

步骤4:永久挂载配置 ```编辑/etc/fstab文件,添加:

UUID=xxxx-xxxx  /data  ext4  defaults  0  2  # 通过blkid获取UUID
sudo mount -a  # 测试配置是否生效

步骤5:高级管理 - 卸载磁盘:sudo umount /data
- 扩容挂载:

sudo resize2fs /dev/sdb1  # ext4扩展 
sudo xfs_growfs /data     # xfs扩展
  • 故障处理:
dmesg | grep sdb1         # 查看内核日志
fsck /dev/sdb1            # 修复文件系统 

⚠️ 三、关键注意事项
1. 权限控制
- 使用 chown user:group /data 设置目录归属
- 通过 mount -o uid=500,gid=500 指定挂载权限

  1. 安全卸载
sync && umount /data  # 强制同步数据后卸载 
  • ❗ 未卸载直接拔盘可能导致数据损坏

  • 特殊场景

场景 解决方案
NTFS磁盘 mount -t ntfs-3g /dev/sdX /mnt
LVM卷组 vgchange -ay 激活后挂载逻辑卷
NFS网络存储 mount -t nfs 192.168.1.100:/share /mnt
  1. 自动化监控
# 添加cron任务检测挂载状态 
*/30 * * * * if ! grep -qs '/data' /proc/mounts; then mount /data; fi 

🌟 操作口诀:
一查存在 → 二建目录 → 三挂设备 → 四写配置 → 五验持久
建议在操作前通过 lsblk 双重确认磁盘标识,避免误操作覆盖关键数据。

评论

评论列表

暂无评论

文章目录

    查看评论