服务器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://test.idctop.com/article/527460.html

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

相关推荐

  • 金融大模型竞争分析到底怎么样?金融大模型哪家强?

    金融大模型的竞争格局已从单纯的“参数军备竞赛”转向“场景落地与合规可信”的深水区,经过对市面上主流金融大模型的深度测试与实战分析,核心结论非常明确:金融大模型竞争分析到底怎么样?真实体验聊聊,其核心价值不再在于模型能背多少金融词条,而在于其能否在严苛的风控环境下,实现“零幻觉”的业务闭环与决策辅助, 现阶段,头……

    2026年3月27日
    11600
  • 如何有效防止访问网站文件夹,设置方法有哪些

    防止访问网站文件夹的核心是禁用目录浏览并设置严格的访问控制权限,通过服务器配置、文件权限设置或添加防护代码即可实现,为什么需要防止网站文件夹被访问网站文件夹被直接访问会暴露文件结构,攻击者可借此发现配置文件、备份文件或未授权页面,行业共识认为,目录浏览漏洞是Web安全中常见且容易被忽视的风险点,据OWASP(开……

    2026年7月20日
    1800
  • 宝塔cdn怎么获取真实IP?宝塔面板配置CDN后获取用户真实IP

    宝塔面板配合CDN无法直接获取访客真实IP,必须通过配置Nginx/Apache反向代理头或使用宝塔自带的“获取真实IP”插件来解决,否则日志记录将全部指向CDN节点IP,很多站长在接入CDN加速后,都会遇到一个头疼的问题:后台登录记录、访客统计、甚至安全防火墙的拦截日志,显示的都是阿里云、腾讯云或Cloudf……

    2026年5月28日
    5400
  • 安装cdn怎么设置,安装cdn教程

    2026年CDN安装的核心结论是:不再依赖传统硬件节点,而是通过云服务商控制台进行“域名接入+SSL证书绑定+缓存规则配置”的三步数字化部署,实现毫秒级全球加速,在2026年的数字基础设施环境中,内容分发网络(CDN)已不再是大型企业的专属奢侈品,而是所有面向公众服务的Web应用的标配,随着5G-A(5.5G……

    2026年6月28日
    1600
  • 云锁怎么添加cdn?云锁配置CDN教程

    在云锁控制台开启“网站防护”模块后,进入”CDN 加速”子菜单,输入您的 CDN 服务商域名并配置 CNAME 解析,即可在 2026 年完成云盾与 CDN 的联动部署,随着 2026 年网络安全法规的深化,单纯的传统防火墙已无法满足高并发场景下的防御需求,云锁作为主机安全与 Web 应用防火墙的集成平台,其核……

    2026年5月10日
    7100
  • 服务器地域可用区

    在云计算架构中,服务器地域(Region)和可用区(Availability Zone, AZ)是构建高可用、高性能、合规且安全应用的基础设施核心选址策略,它们直接决定了服务的响应速度、业务连续性保障能力以及是否符合特定地区的法规要求, 地域与可用区的本质:分层容灾架构地域 (Region):定义: 一个独立的……

    2026年2月5日
    23600
  • 服务器IP挂CDN做跳板到底安全吗,有哪些风险

    服务器IP挂CDN做跳板,在合理配置下能有效隐藏源站IP,但并非绝对安全,仍需警惕多种风险,服务器IP挂CDN做跳板安全吗?核心风险剖析很多人以为只要把服务器IP挂在CDN后面,源站就彻底隐形了,CDN作为反向代理,主要解决加速和隐藏IP,并不能完全杜绝攻击,如果配置不当,甚至可能引入新的安全隐患,CDN跳板的……

    2026年8月2日
    1900
  • 服务器地址与DNS有何区别?它们之间真的就是等同关系吗?

    不是,服务器地址和DNS是两个不同的概念,但它们在网络连接中紧密协作,服务器地址是您要访问的目的地(如一个网站或服务所在的计算机),而DNS(域名系统)则是互联网的“电话簿”或“导航系统”,负责将您输入的、易于记忆的域名(如 www.baidu.com)翻译成该目的地对应的、机器可识别的服务器地址(即IP地址……

    2026年2月4日
    17330
  • 京瓷p5026cdn打印机怎么样,京瓷p5026cdn打印质量如何

    京瓷P5026cdn是一款主打高耐用性与低维护成本的A4黑白激光复合机,适合中大型办公环境,其核心优势在于定影组件免更换设计及极高的首印速度,在选购办公设备时,很多行政人员或IT采购往往会被复杂的参数表劝退,京瓷P5026cdn之所以能在市场上保持长久的生命力,并非依靠花哨的功能堆砌,而是源于其独特的“免维护定……

    2026年5月25日
    4200
  • 如何用Nginx和DNSPod搭建CDN?Nginx配置CDN加速教程

    利用Nginx结合DNSPod实现CDN加速,核心在于通过DNSPod解析将用户请求智能调度至部署了Nginx反向代理的边缘节点,从而降低延迟并提升访问速度,Nginx与DNSPod协同工作的底层逻辑很多站长在构建内容分发网络时,容易陷入“买服务器=建CDN”的误区,真正的CDN是由分布在全球各地的边缘服务器集……

    2026年6月17日
    4510

发表回复

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