服务器SSH登录配置需要注意什么?, 怎么设置

配置服务器SSH登录的核心是修改sshd_config文件、启用密钥认证并禁用密码登录,同时配合防火墙规则限制访问来源。

下面我从零开始,一步步带你完成SSH登录配置,包括基础安装、密钥设置、云服务器差异以及安全强化。

10分钟手把手教你通过SSH,使用密钥/账号远程登录Linux服务器(Windows/macOS)
加载中
10分钟手把手教你通过SSH,使用密钥/账号远程登录Linux服务器(Windows/macOS)

如何配置SSH登录服务器?从基础到安全

安装并启动SSH服务

大多数Linux服务器默认安装OpenSSH,可以通过以下命令检查状态:

sudo systemctl status sshd

如果未安装,使用包管理器安装:

  • Debian/Ubuntu:sudo apt update && sudo apt install openssh-server
  • CentOS/RHEL:sudo yum install openssh-server

安装后,启动服务并设置开机自启:

sudo systemctl start sshd
sudo systemctl enable sshd

创建普通用户并配置sudo权限

为了安全,建议不要直接使用root操作,创建一个普通用户:参考2

sudo adduser myuser

并赋予sudo权限(Ubuntu):

sudo usermod -aG sudo myuser

CentOS将用户加入wheel组:

sudo usermod -aG wheel myuser

修改sshd_config文件

核心配置文件是/etc/ssh/sshd_config,修改前备份:

sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak

使用编辑器打开,修改以下参数:

  • Port 22 → 改为自定义端口,如Port 2222,减少被扫描风险。
  • PermitRootLogin yes → 改为PermitRootLogin no,禁止root直接登录。
  • PasswordAuthentication yes → 暂时保持yes,等密钥配置好后改为no。
  • PubkeyAuthentication yes → 确保启用。

修改后,用sudo sshd -t检查语法是否正确,然后重启服务:

sudo systemctl restart sshd

配置防火墙或安全组

如果服务器使用防火墙,需要放行新端口:

  • 使用ufw(Ubuntu):sudo ufw allow 2222/tcp
  • 使用firewalld(CentOS):sudo firewall-cmd --permanent --add-port=2222/tcp && sudo firewall-cmd --reload
  • 使用iptables:sudo iptables -A INPUT -p tcp --dport 2222 -j ACCEPT(注意保存规则)

如果是云服务器,还需要在安全组添加入站规则,允许自定义TCP端口。

服务器SSH登录配置需要注意什么?, 怎么设置

测试连接

从客户端执行:

ssh -p 2222 myuser@your_server_ip

如果成功,基础配置完成,如果连接失败,检查防火墙是否放行,以及sshd是否正常运行。

使用SSH Config文件简化连接

在客户端创建~/.ssh/config,配置:

Host myserver
    HostName your_server_ip
    Port 2222
    User myuser
    IdentityFile ~/.ssh/id_ed25519

之后只需执行ssh myserver即可连接,不需要每次输入IP和端口。

SSH登录服务器密钥配置与密码配置对比

密码登录虽然简单,但安全性较低,密钥认证使用公钥和私钥,安全性更高。

生成密钥对

在客户端执行:

ssh-keygen -t ed25519 -a 100

也可以使用RSA:ssh-keygen -t rsa -b 4096,建议设置密码短语(passphrase),为私钥增加一层保护。参考2

部署公钥

使用ssh-copy-id将公钥复制到服务器:

ssh-copy-id -i ~/.ssh/id_ed25519.pub -p 2222 myuser@your_server_ip

如果该命令不可用,手动复制公钥内容到服务器~/.ssh/authorized_keys文件,并设置权限600。

测试密钥登录

执行:

ssh -p 2222 myuser@your_server_ip

如果无需密码直接登录,说明密钥认证成功,此时可以禁用密码登录:在sshd_config中设置PasswordAuthentication no,重启服务。

密钥管理注意事项

  • 私钥文件权限必须为600,否则SSH会拒绝使用。
  • 建议使用密码短语保护私钥,但每次使用需要输入,可以用ssh-agent缓存。
  • 如果私钥丢失,需要重新生成并部署新公钥,同时移除旧公钥。
  • 多个服务器可以复用同一个密钥对,但建议每个服务器使用不同密钥,便于撤销。

对比分析

服务器SSH登录配置需要注意什么?, 怎么设置

特性 密码认证 密钥认证
安全性 较低,易受暴力破解 较高,依赖密钥文件
便利性 记住密码即可 需要管理密钥文件
配置难度 无需额外配置 需要生成和部署密钥
推荐场景 临时、低安全环境 生产环境、高安全要求

行业共识认为,密钥认证应作为SSH登录的首选方式,多数情况下,使用密钥认证能显著降低被入侵的风险。

云服务器SSH登录配置实战

云服务器厂商如简米云、酷番云、AWS,在创建实例时通常提供密钥对选项,如果选择密钥对,会自动配置公钥,你只需下载私钥,初次登录时:

ssh -i /path/to/private_key -p 22 user@public_ip

安全组配置

云服务器安全组相当于虚拟防火墙,需要添加入站规则:

  • 简米云:在安全组中,添加自定义TCP,端口为你的SSH端口,授权对象为你的IP(如x.x.x.x/32)。
  • 酷番云:类似,添加规则,来源为你的IP,协议端口为TCP:22(或自定义端口)。
  • AWS:在安全组中,添加入站规则,类型为SSH,源为你的IP。

如果修改了端口,记得同步更新安全组规则。

SSH连接排查步骤

当连接失败时,按以下顺序排查:

  • 检查安全组规则是否放行了端口。
  • 检查服务器防火墙是否放行,sudo ufw status或sudo firewall-cmd --list-all。
  • 检查SSH服务状态:sudo systemctl status sshd。
  • 检查密钥文件权限:ls -l ~/.ssh/id_ed25519,应为-rw-------。
  • 查看认证日志:sudo tail -f /var/log/auth.log,定位具体错误。

使用fail2ban防护

fail2ban能自动阻止多次失败的登录尝试,安装:

sudo apt install fail2ban  # Ubuntu
sudo yum install fail2ban  # CentOS

配置/etc/fail2ban/jail.local,添加:参考2

[sshd]
enabled = true
port = 2222
filter = sshd
logpath = /var/log/auth.log
maxretry = 5
bantime = 3600

重启fail2ban:sudo systemctl restart fail2ban,这样,多次尝试登录失败的用户会被暂时封禁。

业内专家指出,云服务器安全配置中,SSH管理是重中之重,建议使用密钥认证并配合fail2ban等工具。

国内服务器SSH登录配置常见问题与优化

国内服务器用户常面临的问题包括:默认端口22被频繁扫描,弱密码容易被攻破,网络不稳定导致连接断开。

服务器SSH登录配置需要注意什么?, 怎么设置

更换端口

修改sshd_config中的Port为不常用端口,如2222、10022等,同时更新防火墙和安全组规则。

限制IP访问

通过防火墙只允许你信任的IP连接:

sudo iptables -A INPUT -p tcp --dport 2222 -s your_ip -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 2222 -j DROP

使用ufw:sudo ufw allow from your_ip to any port 2222 proto tcp

使用AllowUsers

在sshd_config中添加:

AllowUsers myuser

只允许特定用户登录,其他用户即使有密钥也无法连接。

配置KeepAlive

避免空闲连接断开:

ClientAliveInterval 60
ClientAliveCountMax 3

常见误区

  • 误认为修改端口后就绝对安全,实际上还需要禁用密码登录和限制IP。
  • 只使用密钥但忘记设置私钥权限,导致登录失败。
  • 修改sshd_config后未重启服务,导致配置不生效。

综合优化

建议同时启用密钥认证、禁用密码登录、更换端口、限制IP,如果考虑SSH登录服务器配置价格,这些措施几乎零成本,但能大幅提升安全性。

国内服务器如果使用云厂商,Web控制台通常提供远程连接功能,可以作为应急备用通道。

SSH登录服务器配置常见问题解答

问题1:SSH登录失败,提示”Permission denied (publickey)”怎么办?
检查公钥是否已添加到authorized_keys,确认sshd_config中PubkeyAuthentication设为yes,并重启服务,私钥文件权限必须为600,且所属用户正确。

问题2:我改了端口后SSH连不上了,如何处理?
如果当前会话还在,不要退出,先测试新端口,如果已断开,通过云控制台VNC或物理控制台登录,检查sshd_config错误或防火墙是否放行,建议保留至少一个管理通道。

问题3:密码登录和密钥登录哪个更便宜?
从直接成本看,两者均无额外费用,但密钥登录能避免因密码泄露导致的数据损失,长期来看性价比更高,多数情况下,推荐使用密钥登录。

通过以上配置,你的服务器SSH登录将更加安全可靠,检查你的服务器,确保配置符合最佳实践,避免因配置不当带来的风险。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/%e6%9c%8d%e5%8a%a1%e5%99%a8ssh%e7%99%bb%e5%bd%95%e9%85%8d%e7%bd%ae%e9%9c%80%e8%a6%81%e6%b3%a8%e6%84%8f%e4%bb%80%e4%b9%88%ef%bc%9f-%e6%80%8e%e4%b9%88%e8%ae%be%e7%bd%ae/

赞 (0)
服务器存储价格主要由哪些因素决定,怎么选择更划算?
上一篇 2026年7月29日 05:05
戴尔服务器128g内存2tb硬盘多少钱一台,值得买吗
下一篇 2026年7月29日 05:07

相关推荐

  • cdn访问加速慢怎么办,cdn加速原理

    CDN访问加速的核心结论是:通过在全球边缘节点缓存静态资源并优化路由路径,可将用户访问延迟降低50%-80%,显著提升首屏加载速度及并发处理能力,是应对高流量场景的必备基础设施,CDN加速的核心机制与价值解析工作原理:从“源站直连”到“边缘就近访问”传统网站架构中,用户请求需跨越网络层级直达源服务器,受限于物理……

    2026年6月22日
    2700
  • 虚拟机启用发现失败怎么办?排查步骤有哪些?,虚拟机启用失败怎么解决?

    虚拟机启用发现失败,核心原因集中在虚拟机服务未运行、网络发现功能未开启、防火墙规则拦截或虚拟交换机配置不当,排查时应按服务状态、系统网络设置、虚拟网络适配器三个层次依次确认,为什么虚拟机开不了网络发现很多人在VMware Workstation或Hyper-V里装好Windows虚拟机后,打开网络发现开关,结果……

    2026年10月20日
    100
  • 周志豪大模型怎么样?周志豪大模型值得关注吗

    周志豪大模型代表了当前人工智能在垂直细分领域深度结合专业知识的顶尖水平,其核心价值在于突破了通用大模型在特定高精尖场景下的“幻觉”瓶颈,通过高质量的行业数据投喂与优化的架构设计,实现了从“通用对话”向“专家级决策辅助”的质变,该模型不仅展现了卓越的逻辑推理能力,更在处理复杂、多变量任务时表现出了惊人的稳定性,是……

    2026年3月28日
    10900
  • 网站添加cdn后打不开怎么办,网站添加cdn

    网站添加CDN的核心结论是:通过在全球边缘节点缓存静态资源,显著降低服务器负载并提升用户访问速度,2026年已成为保障网站高可用性与SEO排名的基础设施标配,在2026年的互联网生态中,CDN(内容分发网络)已不再是大型企业的专属,而是所有追求稳定与速度的网站必备组件,对于中小企业及个人开发者而言,选择合适的C……

    云计算 2026年6月10日
    3010
  • 椰皮cdn是什么,椰皮cdn加速好用吗

    椰皮CDN并非独立存在的商业实体,而是指基于椰子纤维(椰壳碳)吸附特性或特定品牌命名的边缘计算节点技术,目前主流CDN厂商如阿里云、腾讯云并未推出名为“椰皮”的标准产品,2026年行业共识中该词多指向小众定制化加速方案或误传概念,建议优先选择具备ICP备案资质的头部云服务商以保障合规与稳定性,椰皮CDN的技术本……

    2026年6月14日
    5010
  • FTP服务器搭建需要什么条件?,搭建FTP服务器要注意什么?

    搭建FTP服务器需要满足操作系统支持、网络连通性、防火墙放行、权限设置及服务端软件安装五大核心条件,硬件方面几乎无门槛,关键是根据使用场景选择正确的配置,FTP服务器搭建需要什么条件?硬件与系统篇硬件条件:低功耗设备同样胜任FTP服务器对硬件要求极低,多年前的旧电脑或树莓派只要稳定运行操作系统,就能承担文件传输……

    2026年8月19日
    600
  • 服务器实例是登录用户名吗?云服务器默认登录账号是什么

    服务器实例是登录用户名,这一概念的本质是指云服务器实例在操作系统层面的身份标识与远程接入凭证的深度绑定,即实例ID或初始分配账号直接作为SSH/RDP协议的登录用户名,实现资源分配与权限归属的精准映射,概念重构:实例与身份的底层逻辑为什么服务器实例会等同于登录用户名?在2026年的云原生架构中,基础设施即代码……

    2026年4月23日
    4200
  • cdn echart图表不显示?echarts集成cdn报错怎么解决

    在2026年使用CDN加速ECharts图表渲染,核心结论是:对于静态或低频更新的数据大屏,采用CDN引入ECharts库配合静态资源缓存可显著提升首屏加载速度;而对于高频实时数据场景,需结合服务端渲染(SSR)或WebSocket推送,单纯依赖前端CDN无法解决数据延迟问题,且需警惕跨域安全策略配置, CDN……

    2026年6月30日
    5800
  • 什么是CDN?CDN的概念和定义是什么

    CDN(内容分发网络)通过将内容缓存至全球边缘节点,实现智能调度与就近交付,是2026年保障网站性能、承载高并发、降低网络延迟的核心基础设施,其价值已在电商、视频、金融等领域得到充分验证,CDN概念与工作原理核心定义与演进CDN(Content Delivery Network)本质是分布式网络,由遍布全球的边……

    2026年7月22日
    700
  • cdn速度检测慢怎么办,CDN加速原理

    CDN速度检测的核心结论是:通过多节点Ping测试、HTTP请求耗时分析及首字节时间(TTFB)对比,可精准定位源站延迟、缓存命中率及边缘节点负载,从而优化内容分发效率,在2026年的数字化生态中,网络延迟已不再是单纯的“快慢”问题,而是直接影响用户留存率与搜索引擎排名的关键指标,随着5G-A(5.5G)网络的……

    2026年6月1日
    5000

发表回复

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