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

linux配置ssh

第一阶段:安装与启动 SSH 服务

大多数 Linux 发行版默认已安装 OpenSSH 客户端,但服务器端可能需要手动安装。

  1. 安装软件包
    根据你的发行版使用对应的包管理器:

    发行版命令
    Ubuntu / Debiansudo apt update && sudo apt install openssh-server
    CentOS / RHELsudo yum install openssh-serversudo dnf install openssh-server
    Fedorasudo dnf install openssh-server
  2. 启动并启用服务
    安装完成后,需要启动服务并设置开机自启:

    # 启动 SSH 服务sudosystemctl startssh# Debian/Ubuntu (部分旧版用 sshd)sudosystemctl start sshd# CentOS/RHEL# 设置开机自启sudosystemctlenablesshsudosystemctlenablesshd# 检查状态 (看到 active (running) 即成功)sudosystemctl statusssh

第二阶段:基础配置

SSH 服务的核心配置文件位于/etc/ssh/sshd_config。修改此文件前,强烈建议先备份

sudocp/etc/ssh/sshd_config /etc/ssh/sshd_config.bak

使用编辑器(如nanovim)打开配置文件:

sudonano/etc/ssh/sshd_config

常用配置项修改:

  1. 修改默认端口:将#Port 22修改为其他端口(如Port 2222),可以大幅减少针对 22 端口的暴力破解尝试。
  2. 禁止 Root 登录:为了安全,建议将PermitRootLogin yes改为no,使用普通用户登录后再切换身份。
  3. 监听地址:如有必要,可通过ListenAddress限制 SSH 只在特定 IP 上监听。

修改完成后,必须重启服务使配置生效:

sudosystemctl restartssh

第三阶段:配置 SSH 密钥认证(推荐)

使用密钥登录比密码更安全,且可以实现免密登录。

  1. 生成密钥对
    你的本地电脑(或作为客户端的服务器)上执行:

    # 推荐使用 Ed25519 算法(更安全高效)ssh-keygen -t ed25519 -C"your_email@example.com"# 或使用兼容性更好的 RSA 算法ssh-keygen -t rsa -b4096-C"your_email@example.com"
    • 按回车使用默认保存路径。
    • 设置密码(Passphrase)可以增加一层安全保障,如果希望完全免密,直接回车留空即可。
  2. 上传公钥到服务器
    生成密钥后,需要将公钥(.pub文件内容)复制到服务器。
    方法 A(推荐,最简单):

    ssh-copy-id -i ~/.ssh/id_rsa.pub username@server_ip -p2222

    方法 B(手动复制):
    将本地~/.ssh/id_rsa.pub的内容复制,然后在服务器上执行:

    # 确保 .ssh 目录存在且权限正确mkdir-p ~/.sshchmod700~/.ssh# 将公钥内容追加到 authorized_keysecho"PASTE_YOUR_PUBLIC_KEY_HERE">>~/.ssh/authorized_keyschmod600~/.ssh/authorized_keys

第四阶段:安全加固(生产环境必做)

完成上述步骤后,建议进行以下安全设置:

  1. 禁用密码登录
    确认密钥登录测试无误后,编辑/etc/ssh/sshd_config,将以下选项改为no,强制使用密钥登录:
    PasswordAuthentication no ChallengeResponseAuthentication no
  2. 配置防火墙
    开放你设置的 SSH 端口(例如 2222),并拒绝其他来源。
    • UFW (Ubuntu):sudo ufw allow 2222/tcp
    • Firewalld (CentOS):
      sudofirewall-cmd --permanent --add-port=2222/tcpsudofirewall-cmd --reload
  3. 安装 Fail2ban
    这是一个防止暴力破解的工具,能自动封禁频繁尝试登录的 IP。
    # Ubuntu/Debiansudoaptinstallfail2ban# CentOS/RHELsudoyuminstallfail2ban

总结建议

  • 测试连接:在关闭密码登录前,务必打开一个新的终端窗口测试连接,确保密钥能正常登录,避免把自己锁在服务器外面。
  • 保留备用会话:在进行重大配置更改时,不要关闭当前的 SSH 会话,直到确认新配置生效且没有导致失联。
  • SELinux (仅限 CentOS/RHEL):如果你修改了端口且系统开启了 SELinux,需要运行命令授权端口,否则连接会被拒绝:sudo semanage port -a -t ssh_port_t -p tcp 2222
http://www.jsqmd.com/news/322963/

相关文章:

  • 首考游记
  • 数组part02
  • CF1110F Nearest Leaf
  • 本地AI大模型+200+数据源,小白也能5分钟搞定!
  • 3123123
  • 2025 年最佳 LinkedIn 爬虫工具
  • ClawdBot 终极实战手册(1):从 0 到 1 打造你的 24×7 AI 员工
  • AI开发者的福音!这款浏览器插件让大模型检索“指哪打哪“,小白也能精准控制AI信息源
  • 保姆级教程!从0到1构建生产级AI代理:RAG+FastAPI让大模型yyds,小白也能秒变高手!
  • 泛型编程
  • 大模型开发者的内功心法:信号处理与信息论如何颠覆AI编程,小白也能秒懂!
  • 用极狐 CodeRider-Kilo 构建俄罗斯方块:AI 辅助编程的沉浸式体验
  • 保研信息汇总
  • 大航海时代ol台服找Call记(三) 与NPC对话进出码头Call
  • 大模型“开挂“指南:RAG技术万字长文,手把手教你构建专属知识库,代码示例直接抄!
  • 代码已打包!RAG智能索引实战:从传统分块到混合索引的进化论
  • 无人机视角农村房屋建筑损伤长植物返潮裂缝检测数据集VOC+YOLO格式1304张5类别
  • [RE2] Prog对象(字节码) | Inst指令序列 | 字节映射和指令扁平化 - 详解
  • 谷歌云这10个AI Agent开发技巧,小白也能秒变代码大神,996都拜拜了!
  • 【AI办公自动化】如何使用Python来批量自动化处理图像
  • 预训练任务全解析:从掩码语言建模到多模态学习
  • 使用vue时的一些注意事项
  • 别再被“智能体”忽悠了,AI的尽头是让工具回归实用
  • 2026年口碑好的刮研品牌推荐,高精度电动刮研刀工厂解析
  • 2026年度专业深度测评:礼品定制公司排名前五权威发布
  • day 17|654.最大二叉树 617.合并二叉树 700.二叉搜索树中的搜索 98.验证二叉搜索树
  • 高精度乘法
  • linux 使用Xcb监听窗口
  • 【笔记】【股票小白入门5-股票界面】
  • linux 使用Xcb监听键盘鼠标输入