Linxu 配置SSH服务
文章目录Linxu 配置SSH服务 SSH密钥认证公钥与私钥的配对游戏 认证的完整流程 角色总结谁拿公钥谁拿私钥1. 安装 SSH 服务2. 配置文件详解2.1. 修改默认端口 (Port)2.2. 禁用 root 用户直接登录 (PermitRootLogin)2.3. 禁用密码认证强制使用密钥登录 (PasswordAuthentication)2.4. 允许公钥认证 (PubkeyAuthentication)步骤 1: 在客户端生成密钥对 (如果还没有)步骤 2: 将公钥上传到服务器步骤 3: 测试登录2.5. 限制可登录的用户 (AllowUsers)2.6. 其他重要配置3. 使用注意事项与最佳实践4. 故障排除Linxu 配置SSH服务SSH (Secure Shell) 是一种加密网络协议用于在不安全的网络上安全地运行网络服务。最常见的用途是远程登录到系统并进行命令行操作。Linux 上最广泛使用的 SSH 实现是OpenSSH。 SSH密钥认证公钥与私钥的配对游戏SSH密钥认证的核心是一对数学上相关联的“钥匙”公钥 (Public Key)可以公开的“锁”。你把它放在目标服务器上相当于给服务器装上了一把只能由特定私钥打开的锁。私钥 (Private Key)必须保密的“钥匙”。由客户端这里是JumpServer持有用于打开那把锁。 认证的完整流程整个认证过程就像是一个“对暗号”的过程部署公钥装锁管理员将JumpServer的公钥提前部署到目标服务器192.168.3.2的 ~/.ssh/authorized_keys 文件中。这相当于在目标服务器上装了一把锁。发起连接拿钥匙开门当用户通过JumpServer点击连接时 JumpServer会作为SSH客户端使用其保管的私钥向目标服务器发起认证请求。加密与解密对暗号目标服务器收到请求后会生成一个随机字符串挑战并用之前部署的公钥进行加密然后发送给JumpServer。JumpServer收到这个加密的字符串后用自己持有的私钥进行解密。最后JumpServer将解密后的字符串发回给目标服务器。认证成功暗号正确目标服务器将收到的字符串与之前生成的进行比对。如果一致就证明JumpServer持有正确的私钥认证成功连接建立。 角色总结谁拿公钥谁拿私钥通过这个过程我们可以清晰地看到两者的分工目标服务器 (192.168.3.2)扮演“门”的角色。它只存储公钥锁用于验证来访者的身份。JumpServer扮演“钥匙管理员”的角色。它保管着私钥钥匙用于开启目标服务器上的锁。1. 安装 SSH 服务OpenSSH 通常分为客户端 (ssh) 和服务器 (sshd) 两部分。Ubuntu / Debian:# 更新软件包列表sudoaptupdate# 安装 SSH 客户端 (通常默认已安装)sudoaptinstallopenssh-client# 安装 SSH 服务器sudoaptinstallopenssh-serverCentOS / RHEL / Fedora:# 安装 SSH 客户端和服务端 (在较新版本中minimal安装可能默认不包含)sudoyuminstallopenssh-server openssh-clients# CentOS/RHELsudodnfinstallopenssh-server openssh-clients# Fedora/RHEL 8# 启用并启动服务 (安装后通常已自动启动但可以确认下)sudosystemctlenablesshdsudosystemctl start sshd服务状态检查# 检查 SSH 服务状态sudosystemctl statusssh# 对于某些系统如CentOS服务名可能是 sshdsudosystemctl status sshd# 如果服务未运行启动它sudosystemctl startssh# 设置开机自启sudosystemctlenablessh# 重新加载配置sudosystemctl reloadssh# ubuntu22.04版本执行下面两条命令sudosystemctl daemon-reloadsudosystemctl restart ssh.socket# 重启服务sudosystemctl restartssh# 查看ssh监听端口号sudoss-tlnp|grepsshd2. 配置文件详解SSH 的主要配置文件位于/etc/ssh/sshd_config。在修改任何配置之前务必备份原文件sudocp/etc/ssh/sshd_config /etc/ssh/sshd_config.baksudovim/etc/ssh/sshd_config关键配置项说明2.1. 修改默认端口 (Port)#Port 22 # 默认端口是 22注释状态Port56789# 取消注释并修改为一个高端口号如 56789注意修改端口后防火墙必须放行新端口且连接时必须指定端口ssh -p 56789 userhostname。2.2. 禁用 root 用户直接登录 (PermitRootLogin)PermitRootLogin no# 强烈建议设置为 no禁用后先使用普通用户登录然后通过su或sudo切换为 root增加一层安全屏障。2.3. 禁用密码认证强制使用密钥登录 (PasswordAuthentication)PasswordAuthentication no# 设置为 no 以禁用密码登录这是最简单的方式但也是最不安全的容易遭受暴力破解。开启后使用方式ssh -p 56789 usernameserver_ip然后输入用户密码。警告在确认密钥登录无误之前切勿将此选项设为no否则可能把自己锁在服务器外。2.4. 允许公钥认证 (PubkeyAuthentication)PubkeyAuthenticationyes# 通常默认就是 yes**更安全**使用一对加密密钥公钥和私钥进行认证。公钥放在服务器上私钥留在本地客户端。步骤 1: 在客户端生成密钥对 (如果还没有)# 使用ed25519推荐更安全更短过程中会提示输入passphrase加强保护ssh-keygen-ted25519-f/root/.ssh/backup_id# 执行后会提示你输入密钥的保存路径默认为 ~/.ssh/backup_id.pub和密码passphrase。# 或者使用rsassh-keygen-trsa-b4096-Cyour_emailexample.com# 传统方式# 执行后会提示你输入密钥的保存路径默认为 ~/.ssh/id_rsa.pub。Passphrase为私钥再添加一层密码保护即使私钥文件被盗也无法直接使用。步骤 2: 将公钥上传到服务器如果服务器上没有 authorized_keys 文件执行ssh localhost正常生成.ssh文件夹和authorized_keys如果还没有则使用方式二手动创建复制# 方式一ssh-copy-id-i~/.ssh/id_ed25519.pub-pport_number usernameserver_ip# 方式二(手动)mkdir-p~/.sshchmod700~/.sshecho粘贴您的公钥内容 here~/.ssh/authorized_keyschmod600~/.ssh/authorized_keys这会将你的公钥内容追加到服务器上的~/.ssh/authorized_keys文件中。步骤 3: 测试登录ssh-pport_number usernameserver_ip2.5. 限制可登录的用户 (AllowUsers)AllowUsers user1 user2192.168.1.100此例只允许用户user1从任何地址登录以及用户user2只能从 IP192.168.1.100登录。2.6. 其他重要配置Protocol2# 只使用更安全的 SSHv2 协议PermitEmptyPasswords no# 禁止空密码登录MaxAuthTries3# 最大认证尝试次数ClientAliveInterval300# 客户端无响应300秒后断开连接ClientAliveCountMax2# 客户端存活检测次数3. 使用注意事项与最佳实践备份配置修改sshd_config前务必备份。测试配置使用sshd -t测试配置文件语法是否正确然后再重载服务。sudosshd-t保持连接修改关键设置如端口、禁用密码时始终保持至少一个活动的 SSH 连接会话。这样如果新配置导致无法登录你还可以通过旧的会话来恢复配置。防火墙规则任何对 SSH 端口的修改包括默认的 22都必须相应地在防火墙ufwfirewalldiptables中更新规则放行新的端口。Fail2Ban安装 Fail2Ban 工具来自动封锁多次尝试 SSH 密码失败的 IP 地址有效防止暴力破解。使用参考文章Fail2Ban 工具的使用更新软件定期更新系统及 OpenSSH 软件包以获取安全补丁。参考文章升级openssh至最新版禁用不用的算法对于更高安全要求的环境可以考虑在sshd_config中禁用较弱的加密算法、MAC 算法和密钥交换算法。强制选择连接方式在测试阶段可以使用命令ssh -o PreferredAuthenticationspassword -o PubkeyAuthenticationno userhostname强制使用密码连接不使用密钥4. 故障排除连接被拒绝 (Connection refused)服务未运行或防火墙拦截。权限太开放 (Permissions are too open)~/.ssh目录权限应为700~/.ssh/authorized_keys文件权限应为600。chmod700~/.sshchmod600~/.ssh/authorized_keys调试模式使用-vverbose参数查看详细的连接过程对排查问题极有帮助。ssh-v-pport_number userhostname查看日志服务器端的 SSH 日志通常位于/var/log/auth.log(Debian/Ubuntu) 或/var/log/secure(CentOS/RHEL)。

相关新闻

F4切换绝对引用:把公式编辑的熟悉手感带进 SpreadJS

F4切换绝对引用:把公式编辑的熟悉手感带进 SpreadJS

写过复杂表格公式的人都知道,引用类型经常要来回调整。A1 会随着复制位置变化,$A$1 会固定行和列,A$1 或 $A1 只固定其中一个方向。手动输入 $ 不算难,但在预算、报价、测算模型里反复修改引用,会不断打断思路。这个 d…

2026/7/24 20:52:40阅读更多 →
【AI短视频流量密码】:从0到100万播放仅需48小时——基于1726条爆款样本的神经网络归因分析

【AI短视频流量密码】:从0到100万播放仅需48小时——基于1726条爆款样本的神经网络归因分析

更多请点击: https://intelliparadigm.com 第一章:AI短视频爆款现象的神经网络归因总论 AI驱动的短视频爆发式传播并非偶然,其底层动力源于多层神经网络在内容生成、用户建模与平台分发三重维度的协同演化。现代推荐系统已从传统协同过滤跃迁…

2026/7/24 20:52:40阅读更多 →
3分钟掌握本地图片搜索:千万级图库秒级检索终极指南

3分钟掌握本地图片搜索:千万级图库秒级检索终极指南

3分钟掌握本地图片搜索:千万级图库秒级检索终极指南 【免费下载链接】ImageSearch 基于.NET10的本地硬盘千万级图库以图搜图案例Demo和图片exif信息移除小工具分享 项目地址: https://gitcode.com/gh_mirrors/im/ImageSearch 还在为海量图片找不到想要的内容…

2026/7/24 20:52:40阅读更多 →
LLCOM串口工具使用记录

LLCOM串口工具使用记录

--循环发送快捷发送区数据---例子一 --发送数据中间间隔时间(单位ms) local sendDelay 1000--待发送数据的顺序 local sendList {1,2,4,1,6,8} --你也可以用下面的代码批量生成 --从2号发到15号数据 --[[ for i2,15 dotable.insert(sendList, i) end ]…

2026/7/24 22:16:54阅读更多 →
我们在 Workbuddy 做了个 Skill,10 分钟摸透一个行业!

我们在 Workbuddy 做了个 Skill,10 分钟摸透一个行业!

Workbuddy 的技能市场(SkillHub)已经上架了上万个 Skill,从写文档到做 PPT 到分析数据,覆盖了不少场景。但我们在里面翻了一遍之后,发现一个很实际的问题:大多数 Skill 都是通用型的,装上能用&a…

2026/7/24 22:16:54阅读更多 →
终极办公效率神器:QuickLook OfficeViewer Native 快速预览插件完整指南

终极办公效率神器:QuickLook OfficeViewer Native 快速预览插件完整指南

终极办公效率神器:QuickLook OfficeViewer Native 快速预览插件完整指南 【免费下载链接】QuickLook.Plugin.OfficeViewer-Native View Word, Excel, and PowerPoint files with MS Office and WPS Office components. 项目地址: https://gitcode.com/gh_mirrors/…

2026/7/24 22:16:54阅读更多 →
QMK Toolbox终极指南:3分钟解锁键盘固件刷写新纪元

QMK Toolbox终极指南:3分钟解锁键盘固件刷写新纪元

QMK Toolbox终极指南:3分钟解锁键盘固件刷写新纪元 【免费下载链接】qmk_toolbox A Toolbox companion for QMK Firmware 项目地址: https://gitcode.com/gh_mirrors/qm/qmk_toolbox 在机械键盘个性化定制的世界里,QMK Toolbox正悄然重构着固件刷…

2026/7/24 22:16:54阅读更多 →
AI生成的表格如何导出 AI导出鸭3秒搞定你

AI生成的表格如何导出 AI导出鸭3秒搞定你

结构化数据突围:AI生成表格的四种导出方案工程测评 一、痛点:当AI生成表格遭遇“格式黑洞” 在AI辅助内容生产成为常态的今天,一个长期被低估的技术难题正在浮出水面:表格导出后的结构崩塌。 实测中,直接复制Claude、G…

2026/7/24 22:16:54阅读更多 →
Beyond Compare 5深度密钥生成技术:从RSA算法到实战应用

Beyond Compare 5深度密钥生成技术:从RSA算法到实战应用

Beyond Compare 5深度密钥生成技术:从RSA算法到实战应用 【免费下载链接】BCompare_Keygen Keygen for BCompare 5 项目地址: https://gitcode.com/gh_mirrors/bc/BCompare_Keygen 在文件比较领域,Beyond Compare 5无疑是专业开发者的首选工具&am…

2026/7/24 22:14:54阅读更多 →
Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/24 0:58:53阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/24 0:58:53阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/24 0:58:53阅读更多 →
我的编程之路:第一篇博客

我的编程之路:第一篇博客

大家好,我是一名编程初学者,同时这也是我编程学习之路上的第一篇博客。在这里,我想要向大家介绍我的一些想法和规划。a.自我介绍我是一个刚刚接触编程的新手,目前在学习c语言,我对编程世界充满了强烈的好奇。当然&…

2026/7/24 0:00:06阅读更多 →
【LeetCode 54】螺旋矩阵

【LeetCode 54】螺旋矩阵

问题描述: 解法: 1、模拟(参考自【LeetCode 54】螺旋矩阵-CSDN博客) int *spiralOrder(int **matrix, int matrixSize, int *matrixColSize, int *returnSize) {static const int dirs[4][2] {{0, 1}, {1, 0}, {0, -1}, {-1, …

2026/7/24 0:00:06阅读更多 →
2026 WAIC:模型隐身、智能体疯野,厂商竞赛聚焦办公场景与商业闭环

2026 WAIC:模型隐身、智能体疯野,厂商竞赛聚焦办公场景与商业闭环

知春路不相信模型领先今年WAIC大会,昔日AI六小龙来了五家,分别是Kimi、阶跃星辰、Minimax、百川智能、零一万物。连放弃基模的百川和零一万物都来了,唯一缺席的竟是近几个月来风光无限的智谱。(DeepSeek一直不参加)WAI…

2026/7/24 0:00:06阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/23 22:58:43阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/24 19:00:40阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/24 19:00:40阅读更多 →