ssh服务器端的配置文件有哪些?,怎么配置?

SSH服务器端的核心配置文件是/etc/ssh/sshd_config,同时依赖主机密钥文件和用户授权密钥文件,正确理解这些文件是保障远程管理安全的基础。

SSH服务器端配置文件有哪些?完整清单与位置说明

SSH服务端配置文件主要存放在/etc/ssh/目录下,不同发行版可能略有差异,但核心文件一致,下表列出最关键的配置文件及其作用:

配置第一个服务SSH
加载中
配置第一个服务SSH
文件路径 类型 作用
/etc/ssh/sshd_config 服务端主配置 控制端口、认证方式、登录限制等
/etc/ssh/ssh_host_rsa_key 主机密钥(RSA) 服务器身份验证,需严格保密
/etc/ssh/ssh_host_ecdsa_key 主机密钥(ECDSA) 同上
/etc/ssh/ssh_host_ed25519_key 主机密钥(Ed25519) 同上
~/.ssh/authorized_keys 用户授权密钥 存放客户端公钥,实现免密登录
/etc/ssh/ssh_config 客户端配置文件 影响该服务器作为客户端时的行为
/etc/ssh/sshd_config.d/ 配置片段目录 可包含多个配置文件,避免直接修改主文件
  • 主机密钥文件:权限必须为600,属主root,若权限错误,sshd会拒绝启动,行业共识认为,主机密钥泄漏可能导致中间人攻击,因此需定期调整密钥算法并备份。
  • authorized_keys:每个用户家目录下的.ssh/authorized_keys,权限为600,目录权限700,SSH服务在验证用户时读取该文件。
  • sshd_config.d:现代Linux发行版(如Ubuntu 20.04+、CentOS 8+)支持此目录,可通过Include /etc/ssh/sshd_config.d/.conf包含其他配置,便于管理。

实操:查看所有文件列表:

ssh服务器端的配置文件有哪些?,怎么配置?

ls -l /etc/ssh/参考2

重点解析sshd_config:常用配置项与修改方法

sshd_config是SSH服务端最核心的配置文件,每行一个配置,格式为指令 参数,修改后需执行sshd -t检查语法,然后重启服务。

常用配置项

  • Port:指定监听端口,默认22,建议修改为高位端口(如2222),显著减少自动扫描攻击。
  • ListenAddress:绑定特定IP地址,如0.0.0表示所有接口。
  • PasswordAuthentication:是否允许密码认证,生产环境建议设为no,仅依赖密钥认证。
  • PubkeyAuthentication:开启公钥认证,默认yes。
  • PermitRootLogin:控制root登录,推荐prohibit-password,禁止密码但允许密钥登录。
  • AllowUsers / DenyUsers:白名单/黑名单用户,有效限制登录账号。
  • MaxAuthTries:最大认证尝试次数,默认6,可设为3。
  • ClientAliveInterval 和 ClientAliveCountMax:空闲超时检测,避免僵尸连接。
  • Subsystem sftp:内置SFTP子系统,用于文件传输。

配置示例

Port 2222
ListenAddress 0.0.0.0
PasswordAuthentication no
PubkeyAuthentication yes
PermitRootLogin prohibit-password
AllowUsers admin devops
MaxAuthTries 3
ClientAliveInterval 300
ClientAliveCountMax 2

修改方法:使用vim /etc/ssh/sshd_config编辑,保存后执行sshd -t确认无错误,然后systemctl restart sshd。

ssh_config和sshd_config有什么区别?对比详解

很多新手会对这两个文件混淆,它们虽然名字相似,但作用完全不同。

ssh服务器端的配置文件有哪些?,怎么配置?

对比项 ssh_config(客户端配置) sshd_config(服务端配置)
作用对象 SSH客户端(连接其他服务器) SSH服务端(接受连接)
位置 /etc/ssh/ssh_config /etc/ssh/sshd_config
主要指令 Host, Port(默认连接端口), ForwardAgent, Compression Port, ListenAddress, PasswordAuthentication, PermitRootLogin
修改后生效 立即对后续新连接生效 需要重启sshd服务
优先级 用户级~/.ssh/config覆盖全局配置 没有用户级覆盖,但sshd_config.d可拆分
  • ssh_config:主要控制客户端的行为,如默认使用哪个密钥、是否开启X11转发等,如果服务器也作为客户端连接其他机器,修改此文件会影响对外连接。
  • sshd_config:控制服务端行为,如允许哪些用户登录、使用哪种认证方式。

修改ssh配置文件后需要重启吗?正确操作步骤

修改sshd_config后必须重启sshd服务,否则新配置不生效。 而修改ssh_config后无需重启,但需开启新连接才会生效。

重启SSH服务的命令

  • 使用systemd:sudo systemctl restart sshd(或ssh.service)
  • 使用SysV init:sudo service sshd restart

安全操作流程

  1. 编辑配置文件前先备份:cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
  2. 编辑文件:vim /etc/ssh/sshd_config
  3. 检查语法:sshd -t,若输出无错误,则继续;若有错误,根据提示修正。
  4. 重启服务:systemctl restart sshd
  5. 验证新配置是否生效:sshd -T | grep -E "port|passwordauthentication" 查看当前参数。

注意:如果修改了端口,需要确保防火墙放行新端口,且SELinux/AppArmor策略已更新,建议保留一个旧端口会话,测试新端口可用后再关闭旧端口,避免锁定。

ssh服务器端的配置文件有哪些?,怎么配置?

最安全的SSH配置参数实战

安全配置的核心是禁用密码、密钥登录、限制用户、修改端口、启用日志,以下是经过验证的安全配置模板:参考2

Port 2222
PasswordAuthentication no
PubkeyAuthentication yes
PermitRootLogin no
AllowUsers devops
MaxAuthTries 3
ClientAliveInterval 300
ClientAliveCountMax 2
LogLevel VERBOSE
  • 禁用密码登录(PasswordAuthentication no)后,仅允许密钥认证,大大降低暴力破解风险。
  • 禁止root直接登录(PermitRootLogin no),日常使用普通用户,需要提权时使用sudo。
  • 使用AllowUsers白名单,只允许特定用户登录。
  • 降低MaxAuthTries减少攻击尝试次数。
  • 开启详细日志(LogLevel VERBOSE),便于审计。

建议定期更新主机密钥算法,使用更强的Ed25519算法:ssh-keygen -t ed25519 -f /etc/ssh/ssh_host_ed25519_key -N "",并移除旧算法。

常见问题与排查Q&A

SSH配置文件在哪?如何快速查看当前配置?

服务端配置文件位于/etc/ssh/sshd_config,查看有效配置(排除注释和空行):grep -E "^[^#]" /etc/ssh/sshd_config | grep -v "^$",也可使用sshd -T输出当前所有生效配置,包含默认值。

修改端口后无法连接,可能的原因是什么?

原因主要有三个:防火墙未放行新端口、SELinux限制、sshd未重启,检查防火墙规则:firewall-cmd --list-all(CentOS)或iptables -L -n,如果使用SELinux,需添加端口:semanage port -a -t ssh_port_t -p tcp 2222,配置无误后执行sshd -t并重启服务。

authorized_keys文件权限设置错误如何处理?

SSH要求authorized_keys文件权限为600,目录权限为700,如果权限过大,SSH会忽略该文件,导致密钥认证失败,修复命令:chmod 600 ~/.ssh/authorized_keys; chmod 700 ~/.ssh,同时确认属主是当前用户。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/ssh%e6%9c%8d%e5%8a%a1%e5%99%a8%e7%ab%af%e7%9a%84%e9%85%8d%e7%bd%ae%e6%96%87%e4%bb%b6%e6%9c%89%e5%93%aa%e4%ba%9b%ef%bc%9f%ef%bc%8c%e6%80%8e%e4%b9%88%e9%85%8d%e7%bd%ae%ef%bc%9f/

赞 (0)
服务器电脑主机也要开机吗?,为什么需要开机?
上一篇 2026年7月26日 09:15
1M带宽服务器一天能容纳多少人,一天能支持多少人同时在线?
下一篇 2026年7月26日 09:19

相关推荐

  • 个人企业域名备案流程复杂吗?域名备案需要多长时间

    个人域名备案通常无法通过,必须依托企业或个体工商户资质进行企业备案,且全流程需经阿里云、腾讯云等接入商审核及通信管理局终审,耗时约7-20个工作日,域名备案是网站合法上线的必经之路,但很多新手容易混淆个人与企业备案的界限,随着监管趋严,个人备案的适用范围已大幅收缩,绝大多数商业、资讯类网站均被要求使用企业主体……

    2026年6月11日
    3710
  • 你知道通信服务器基站有哪些吗?,哪个品牌性价比高?

    通信服务器基站按照覆盖范围和发射功率,主要分为宏基站、微基站、皮基站和飞基站四种类型,其中宏基站负责广域覆盖,微基站补盲补热,皮基站和飞基站解决室内深度覆盖,不同基站的硬件构成、回传方式和适用场景差异极大,选型时需要结合现场环境、用户密度和传输资源综合考量,通信服务器基站的四种核心类型宏基站:广域覆盖的主力军宏……

    服务器运维 2026年9月7日
    300
  • WAF部署在应用服务器上到底有什么好处呢,安全吗

    WAF直接部署在应用服务器上,可以换来更低的延迟、更灵活的规则定制以及更低的综合成本,尤其适合对API安全有高要求或预算有限的中小团队,WAF部署在应用服务器上有什么好处把WAF防护模块直接装到应用服务器里,而不是单独架一台硬件盒子或依赖云服务,这种做法在业内越来越常见,好处集中在三个维度:响应速度、规则定制性……

    2026年7月25日
    800
  • FTP服务器默认使用哪些端口,端口怎么改?

    FTP服务器默认使用端口21作为控制通道,端口20作为主动模式下的数据通道,但被动模式依赖动态端口范围,通常由服务器软件自行分配,绝大多数FTP服务在初始化时都会监听21端口等待客户端命令,而数据传输则根据模式不同走不同端口,理解这一默认机制是配置防火墙、搭建安全FTP环境的基础,也是排查连接失败的起点,默认端……

    2026年8月21日
    700
  • 服务器配置由哪些主要部分组成?,选购时应注意什么?

    服务器配置的组成核心是处理器、内存和存储,外加网络和扩展模块,但具体选型没有标准答案,一切取决于业务场景和预算, 很多人一上来就问“服务器配置怎么选”,其实先理解组成,才能对症下药,服务器配置有什么组成?三大件不可不知处理器(CPU):计算的核心CPU是服务器的大脑,决定了计算能力,主要参数包括核心数、线程数……

    2026年8月8日
    1300
  • 服务器密钥是什么意思?服务器密钥的定义、作用及安全配置指南

    服务器密钥是用于身份认证、数据加密与通信安全的核心凭证,通常为一串高强度随机字符串,在服务器与客户端、服务与服务之间建立可信连接中扮演不可替代的角色,它并非物理硬件,而是软件层面的加密凭据,广泛应用于API调用、数据库连接、云服务授权及系统间通信场景,若泄露,将直接导致系统被未授权访问、数据泄露甚至被植入后门……

    2026年4月15日
    5800
  • 服务器图片存储空间满了怎么办,如何清理服务器图片缓存

    高效的服务器图片存储空间管理是平衡网站加载速度、带宽成本与用户体验的基石,核心结论在于:单纯增加硬盘容量无法解决根本问题,必须通过“格式压缩+架构分离+自动化处理”的综合策略,实现存储空间的高效利用与访问性能的最大化,对于任何依赖视觉内容的网站而言,图片往往占据了服务器存储资源的60%至80%,如果缺乏系统性的……

    2026年2月17日
    16600
  • 个人注册域名能备案吗,个人域名备案需要哪些材料

    个人注册域名是可以进行备案的,但必须通过中国大陆境内的服务器接入商(如阿里云、腾讯云等)提交申请,且审核标准比企业备案更为严格,主要限制在于网站内容不得涉及经营性业务,很多刚接触建站的朋友在拿到心仪的域名后,第一反应往往是兴奋,紧接着就是困惑:我作为一个普通人,手里这个域名真的能合法上线吗?答案其实是肯定的,只……

    服务器运维 2026年5月28日
    4400
  • 吃鸡瑞游有哪些服务器,哪个服务器最稳定?

    瑞游为吃鸡玩家提供了亚服、欧美服、东南亚服、俄服等主要服务器节点,其中亚服细分为日韩、东南亚两个子区域,具体选择取决于你的物理位置和游戏需求,服务器选择的核心因素延迟与物理距离延迟是吃鸡体验的第一道门槛,瑞游加速器节点背后的物理机房位置直接决定了你的数据包往返时间,亚服节点部署在东京、首尔、新加坡等地,欧美服集……

    2026年8月23日
    600
  • Java服务器软件到底有哪些功能,怎么选?

    Java服务器软件的核心职责,就是把HTTP请求接进来、交给Servlet处理、再把响应发出去,同时管好会话、安全、部署、监控和集群,生产环境落地时,像简米科技、酷番云这类持牌IDC服务商,能提供更稳的底层网络和合规资质,Java服务器软件的核心功能拆解Servlet与JSP执行引擎Java服务器软件最基础的功……

    2026年9月19日
    000

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注