更新软件源有什么用?

在Linux系统中安装SSH(Secure Shell)是远程管理服务器的关键步骤,以下为详细操作指南,涵盖主流发行版安装、配置优化及安全加固,所有命令均需root权限(使用sudo -isudo前缀)。


安装SSH服务

Debian/Ubuntu 系

# 安装OpenSSH服务端
apt install openssh-server -y
# 启动服务并设开机自启
systemctl enable --now ssh

RHEL/CentOS/Fedora 系

# CentOS 8+/Fedora
dnf install openssh-server -y
# CentOS 7
yum install openssh-server -y
# 启动服务并设开机自启
systemctl enable --now sshd

Arch/Manjaro 系

pacman -S openssh
systemctl enable --now sshd

防火墙配置

允许默认SSH端口(22):

# Ubuntu/Debian (UFW)
ufw allow 22
# CentOS/Fedora (Firewalld)
firewall-cmd --permanent --add-service=ssh
firewall-cmd --reload
# 通用iptables(临时)
iptables -A INPUT -p tcp --dport 22 -j ACCEPT

安全加固配置

编辑配置文件:
nano /etc/ssh/sshd_config

关键优化项:

# 修改默认端口(避免暴力扫描)
Port 2222  # 示例端口,需同步更新防火墙
# 禁止root直接登录
PermitRootLogin no
# 仅允许特定用户登录
AllowUsers your_username
# 禁用密码登录(推荐密钥认证)
PasswordAuthentication no
# 限制登录尝试次数
MaxAuthTries 3
# 启用密钥认证
PubkeyAuthentication yes

应用配置:

systemctl restart sshd  # 重启服务生效

密钥认证设置(更安全)

本地生成密钥对

ssh-keygen -t ed25519  # 默认保存到~/.ssh/

上传公钥到服务器

ssh-copy-id -p 22 -i ~/.ssh/id_ed25519.pub user@server_ip
# 若修改过端口,替换-p后的端口号

连接测试

ssh -p 2222 your_username@server_ip  # 指定端口和用户

✅ 成功提示:出现服务器终端即配置正常
❌ 失败排查:检查防火墙、端口、sshd服务状态(systemctl status sshd


故障处理

  • 端口占用netstat -tuln | grep 22 检查冲突进程
  • 连接拒绝:确认sshd运行中(systemctl status sshd
  • 权限错误:确保~/.ssh权限为700,密钥文件为600

安全建议

  1. 定期更新apt upgrade openssh-serveryum update openssh-server
  2. Fail2Ban防护:自动屏蔽暴力破解IP
  3. 证书轮换:每3-6个月更换一次密钥对
  4. 审计日志:监控/var/log/auth.log(Debian)或/var/log/secure(RHEL)

引用说明基于OpenSSH官方文档(openssh.com)及Linux man pages,配置建议遵循NIST SP 800-123安全指南,实际部署请结合您的发行版手册调整。

通过以上步骤,您已建立安全的SSH连接环境,始终遵循最小权限原则,并定期审查访问日志,可显著提升服务器防护能力。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/8688.html

(0)
酷番叔酷番叔
上一篇 2025年7月26日 05:41
下一篇 2025年7月26日 06:07

相关推荐

  • Linux下如何查看主板信息的详细方法是什么?

    在Linux系统中,查看主板信息是硬件维护、系统兼容性检查或故障排查时的常见需求,主板信息通常包括制造商、型号、序列号、BIOS版本、芯片组类型等关键内容,Linux提供了多种命令和工具来获取这些信息,本文将详细介绍几种主流方法,包括命令用法、输出解读及适用场景,帮助用户高效获取所需的主板信息,使用dmidec……

    2025年9月18日
    5100
  • Linux脚本如何循环检测网口状态?

    在Linux系统中,循环检测网口状态是网络运维中的常见需求,例如监控网口是否UP、流量异常、丢包情况等,以便及时发现网络故障,通过编写bash脚本结合系统工具,可以实现自动化的循环检测,以下是具体实现方法和注意事项,明确检测目标在编写脚本前,需先确定检测的具体内容,常见的网口检测指标包括:网口状态:是否处于UP……

    2025年8月23日
    5700
  • Linux下如何高效解析JSON数据?

    专用工具:jq(推荐首选)jq 是专为JSON设计的轻量级命令行处理器,支持过滤、转换和格式化,安装方法:sudo apt install jq # Debian/Ubuntusudo yum install jq # CentOS/RHEL常用操作示例:提取字段值(如解析data.json中的name字段……

    2025年6月28日
    7000
  • 如何在Linux环境下启动Tomcat服务?

    在Linux系统下启动Tomcat是Java Web应用部署的基础操作,整个过程涉及环境准备、服务启动、配置检查及问题排查等环节,以下从环境配置到启动操作,再到常见问题处理,详细说明完整流程,环境准备:确保Java与Tomcat就绪Tomcat是Java应用服务器,依赖Java运行环境(JRE)或Java开发工……

    2025年8月31日
    5300
  • Linux如何发送报文?网络调试与安全分析技巧

    基础工具:快速发送测试报文ping 命令(ICMP报文)用途:测试网络连通性,命令示例:ping -c 4 192.168.1.1 # 发送4个ICMP请求包到指定IP参数扩展:-s 指定包大小:ping -s 1024 192.168.1.1(发送1KB大包)-I 指定网卡:ping -I eth0 8.8……

    2025年8月5日
    6400

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信