更新软件源有什么用?

在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

相关推荐

  • 分区会清空Win7数据?

    选择适合的安装方案双系统共存(推荐)Linux与Windows 7分别安装在不同分区,开机时通过引导菜单选择系统,优势:独立运行互不干扰,硬件性能完全释放,注意:需预留至少20GB磁盘空间(建议50GB+),虚拟机安装(安全方案)使用VirtualBox/VMware在Win7内创建虚拟环境运行Linux,适用……

    2025年7月16日
    13900
  • Linux打开网页只会点图标?

    图形界面方法(适合新手)Linux的图形环境(如GNOME、KDE、XFCE)提供类似Windows/macOS的浏览器操作体验,使用预装浏览器步骤:点击桌面左下角“应用程序”菜单(或按Super键),在搜索栏输入浏览器名称(如Firefox、Chrome、Edge),单击图标启动浏览器,在地址栏输入网址(如h……

    2025年7月27日
    12900
  • Linux如何关闭3306端口?

    在Linux系统中,3306端口通常是MySQL/MariaDB数据库服务的默认监听端口,关闭该端口可能是出于安全加固、服务迁移或暂时停止数据库访问等需求,关闭3306端口的方法多样,需根据实际场景选择,本文将详细介绍不同操作系统的具体步骤及注意事项,关闭3306端口的常用方法停止MySQL/MariaDB服务……

    2025年9月19日
    12000
  • Makefile中目标依赖命令如何协作?

    在 Linux 下编写和使用 Makefile 的完整指南Makefile 的核心价值Makefile 是 Linux 开发中的自动化构建工具,通过定义依赖关系和构建规则实现:高效编译:仅重新编译修改过的文件(增量编译)跨平台兼容:同一脚本在 GCC/Clang 等环境通用复杂项目管理:支持多目录、多目标的大型……

    2025年6月20日
    16000
  • Linux中如何覆盖已存在文件的操作方法?

    在Linux系统中,文件覆盖是指用新的内容完全替换目标文件的全部内容,而非追加或部分修改,与“删除再创建”不同,覆盖操作通常保留目标文件的inode号、权限、所有者等元数据(除非显式修改),但会更新文件内容、访问/修改时间戳,理解文件覆盖的机制、工具及注意事项,是高效且安全管理Linux文件系统的关键,文件覆盖……

    2025年10月7日
    11400

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信