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

SSH服务配置

SSH 服务学习笔记

一、SSH 基础概念

1. 什么是 SSH?

  • Secure Shell:加密的远程登录与文件传输协议
  • 替代不安全的 Telnet、FTP

2. 认证方式

方式 说明
密码认证 发送用户名+密码(明文传输?否!SSH 加密通道内)
密钥认证 ✅ 推荐!基于公私钥对,实现免密登录

3. 密钥对

  • 公钥(Public Key)
    • 可公开
    • 存放于服务器:~/.ssh/authorized_keys
  • 私钥(Private Key)
    • 必须保密
    • 存放于客户端:~/.ssh/id_rsa
    • ❗ 泄露 = 身份被盗用

二、SSH 工作原理(密钥认证流程)

  1. 生成密钥对(客户端):
    ssh-keygen -f ~/.ssh/id_rsa -P '' -q
    
  2. 分发公钥到服务器:
    ssh-copy-id root@192.168.88.101
    
  3. 登录验证过程
    • 客户端请求连接
    • 服务器用公钥加密随机字符串(挑战)
    • 客户端用私钥解密并返回
    • 服务器比对成功 → 允许登录

🔒 全程加密,私钥永不离开客户端


三、SSH 服务配置实战(CentOS Stream 9)

1. 安装与启动

# 检查是否安装
ssh -V                     # 客户端
systemctl status sshd      # 服务端# 安装(若未安装)
dnf install -y openssh-server openssh-clients# 启动并设置开机自启
systemctl start sshd
systemctl enable sshd

2. 核心配置文件

路径:/etc/ssh/sshd_config

参数 推荐值 说明
Port 22(或自定义) 监听端口
PermitRootLogin no 禁止 root 直接登录(安全)
PasswordAuthentication no 禁用密码登录(启用密钥后)
AllowUsers itheima 仅允许指定用户登录
DenyUsers 拒绝指定用户

修改后重载配置:

systemctl reload sshd

四、SSH 免密登录配置(node2 → node1)

步骤

  1. 在 node2 生成密钥对
    ssh-keygen -f ~/.ssh/id_rsa -P '' -q
    
  2. 将公钥发送到 node1
    ssh-copy-id -o StrictHostKeyChecking=no root@192.168.88.101
    
  3. 测试免密登录
    ssh root@192.168.88.101
    

✅ 成功:无需输入密码直接登录
🔄 反向配置(node1 → node2)同理

补充:自免密(自己连自己)

ssh-copy-id 192.168.88.101  # 在 node1 执行
ssh-copy-id 192.168.88.102  # 在 node2 执行

五、SSH 远程执行命令

语法

ssh [选项] user@host "command"

常用选项

选项 说明
-p 指定端口(非 22)
-t 强制分配 TTY(用于 sudo 等交互命令)
-o StrictHostKeyChecking=no 跳过主机密钥确认

示例

# 查看远程主机名
ssh root@192.168.88.102 "hostname"# 创建文件(多命令)
ssh root@192.168.88.102 "cd ~ && touch a.txt"

💡 价值:批量运维、自动化脚本、故障排查


六、SCP 安全文件传输

基本语法

scp [选项] 源路径 目标路径

常用选项

选项 说明
-r 递归复制目录
-P 指定 SSH 端口
-i 指定私钥文件
-C 启用压缩

用法示例

# 本地 → 远程
scp -r /root/ssh_test/ root@192.168.88.102:/# 远程 → 本地
scp root@192.168.88.101:/root/ssh_test/a.txt ./

七、综合案例:跨节点部署 JDK

步骤

  1. 在 node1 安装 JDK

    mkdir -p /export/software
    # 上传 jdk-8u241-linux-x64.tar.gz
    tar -xzf jdk-8u241-linux-x64.tar.gz -C /opt
    echo 'export JAVA_HOME=/opt/jdk1.8.0_241
    export PATH=$JAVA_HOME/bin:$PATH
    export CLASSPATH=$JAVA_HOME/lib:$CLASSPATH' >> /etc/profile
    source /etc/profile
    java -version  # 验证
    
  2. 通过 SCP 同步到 node2

    # 复制 JDK 目录
    scp -r /opt/jdk1.8.0_241/ root@192.168.88.102:/opt
    # 同步环境变量
    scp /etc/profile root@192.168.88.102:/etc/
    
  3. 在 node2 生效

    source /etc/profile
    java -version  # 验证
    

✅ 实现“一次安装,多机复用”


八、多节点统一免密配置(含 Ubuntu)

场景

  • node1(CentOS)、node2(CentOS)、UbuntuServer01(Ubuntu)
  • 统一使用 itheima 用户互免密

步骤

  1. 创建 itheima 用户(CentOS)

    useradd itheima
    passwd itheima  # 设为 123456
    su - itheima    # 切换测试
    
  2. 三台机器均生成密钥对

    ssh-keygen -f ~/.ssh/id_rsa -P '' -q
    
  3. 互相分发公钥

    # 每台机器执行(假设 IP:101, 102, 130)
    ssh-copy-id 192.168.88.101
    ssh-copy-id 192.168.88.102
    ssh-copy-id 192.168.88.130
    
  4. 验证

    cat ~/.ssh/authorized_keys  # 应包含 3 个公钥
    ssh 192.168.88.101          # 无需密码
    

恢复初始状态

  • 推荐:使用 VMware 快照回滚
  • 手动清理
    rm -rf ~/.ssh
    

📝 本笔记覆盖 SSH 服务从虚拟机准备到多机免密、远程命令、文件传输及批量部署的完整流程,适用于集群环境初始化与自动化运维场景。

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

相关文章:

  • 液相/气相色谱仪厂家口碑榜:谁是国产替代首选? - 品牌推荐大师1
  • VMware macOS解锁完全指南:轻松在虚拟机运行苹果系统
  • Joy-Con Toolkit终极配置指南:5步掌握任天堂手柄个性化设置
  • 5大核心功能揭秘:XXMI启动器如何实现游戏模组一键智能管理
  • 达梦数据库(DM Database) 的内置函数
  • 重塑Zotero插件生态:革命性的文献管理效率工具
  • 淘宝开放API批量上架商品操作指南(2025年最新版)
  • 高危漏洞预警:CVE-2025-10884 Autodesk组件越界写入漏洞技术解析
  • 罗技鼠标宏完整配置教程:快速掌握绝地求生压枪技巧
  • TranslucentTB深度解析:重新定义Windows任务栏视觉体验的技术实践
  • 数据同步Rsync+INOTIFY部署
  • 掌握BAAI bge-large-zh-v1.5的6个实战技巧
  • 2025年12月碳纳米管干燥机厂家最新推荐:常州凯工,炭黑炭素干燥机、碳粉干燥机、喷雾干燥机、真空干燥机、振动流化床干燥机、碳粉闪蒸干燥机、旋转闪蒸干燥机、适配多行业干燥需求新选择 - 海棠依旧大
  • Zotero-SciPDF终极指南:一键获取学术文献PDF的完美解决方案
  • 视频PPT智能提取工具:让每一张幻灯片都触手可及
  • Jasminum:Zotero中文文献元数据智能解析解决方案
  • Java线程间通信
  • 2025年终户外健身器材/儿童游乐设施厂家TOP5权威推荐(附权威评分) - 深度智识库
  • MAA自动公招系统:解放双手的明日方舟智能辅助利器
  • pjsip多平台驱动兼容设计:跨架构集成的全面讲解
  • 【vuejs】vm.$set() 的原理解析和方法以及应用场景
  • 【新技术】用Nano Banana Pro做PPT还能二次编辑的AI工具有哪些?
  • ComfyUI工作流模型管理终极指南:三步快速修复路径配置问题
  • Windows Cleaner终极指南:免费快速解决C盘爆满的完整方案
  • MAA明日方舟智能管家:3大核心功能深度解析与实战配置指南
  • SOCD Cleaner终极指南:告别游戏操作冲突,提升竞技水平
  • PMO实战:AI研发效能度量(DORASPACE)路线图
  • Python命令行工具Click
  • MAA自动公招系统:让明日方舟招募更智能高效
  • XHS-Downloader核心技术解析:突破小红书API安全机制的技术实现