服务器测评网
我们一直在努力

Linux开启SSH服务后如何远程连接?步骤配置详解

Linux 开启 SSH 服务详解

SSH(Secure Shell)是一种加密的网络传输协议,用于在不安全的网络中为网络服务提供安全的传输环境,Linux 系统中,SSH 服务是远程管理和服务器运维的重要工具,本文将详细介绍如何在 Linux 系统中开启 SSH 服务,包括安装、配置、启动及安全优化等步骤,帮助用户快速搭建安全可靠的远程连接环境。

Linux开启SSH服务后如何远程连接?步骤配置详解

检查系统是否已安装 SSH 服务

在开启 SSH 服务前,首先需要确认系统是否已安装 SSH 相关软件包,以主流的 Debian/Ubuntu 和 CentOS/RHEL 系统为例,可通过以下命令检查:

  • Debian/Ubuntu 系统

    dpkg -l | grep openssh-server

    若输出结果包含 openssh-server,则表示已安装;若未安装,可通过以下命令安装:

    sudo apt update && sudo apt install openssh-server -y
  • CentOS/RHEL 系统

    rpm -qa | grep openssh-server

    若未安装,使用以下命令安装:

    sudo yum install openssh-server -y

安装完成后,SSH 服务默认不会自动启动,需要手动开启并配置。

启动并启用 SSH 服务

安装完成后,可通过以下命令启动 SSH 服务并设置为开机自启:

  • 启动 SSH 服务

    sudo systemctl start sshd
  • 设置开机自启

    sudo systemctl enable sshd
  • 检查服务状态

    sudo systemctl status sshd

    若输出显示 active (running),则表示服务已成功启动。

    Linux开启SSH服务后如何远程连接?步骤配置详解

配置 SSH 服务

SSH 服务的配置文件位于 /etc/ssh/sshd_config,通过修改该文件可以调整 SSH 的各项参数,如端口、登录方式、用户权限等,以下是常用配置项及说明:

修改默认端口(安全建议)

默认情况下,SSH 服务监听 22 端口,为提高安全性,可修改为其他端口(如 2222):

sudo vim /etc/ssh/sshd_config

找到 Port 22 一行,将其修改为 Port 2222,保存并退出。

禁用 root 用户直接登录

出于安全考虑,建议禁止 root 用户直接通过 SSH 登录,需通过普通用户登录后再切换至 root:

PermitRootLogin no

限制允许登录的用户

在配置文件中添加以下行,仅允许特定用户(如 user1user2)登录:

AllowUsers user1 user2

启用密钥认证,禁用密码登录

为增强安全性,建议使用 SSH 密钥对进行身份验证,并禁用密码登录:

PasswordAuthentication no
PubkeyAuthentication yes

配置完成后,需重启 SSH 服务使配置生效:

sudo systemctl restart sshd

配置防火墙规则

为确保 SSH 服务可被外部访问,需开放对应的端口(如默认的 22 端口或自定义的 2222 端口):

  • Ubuntu 系统使用 UFW 防火墙

    sudo ufw allow 22/tcp
    sudo ufw reload
  • CentOS/RHEL 系统使用 firewalld

    sudo firewall-cmd --permanent --add-service=ssh
    sudo firewall-cmd --reload

SSH 客户端连接测试

配置完成后,可通过 SSH 客户端工具连接服务器,以 Linux/macOS 终端为例,命令格式如下:

Linux开启SSH服务后如何远程连接?步骤配置详解

ssh username@server_ip -p port
ssh user1@192.168.1.100 -p 2222

首次连接时,系统会提示保存服务器的密钥指纹,输入 yes 即可,若配置了密钥认证,需将本地公钥(~/.ssh/id_rsa.pub)上传至服务器的 ~/.ssh/authorized_keys 文件中。

SSH 服务安全优化建议

为进一步提升 SSH 服务的安全性,建议采取以下措施:

定期更新 SSH 软件

保持系统和 SSH 软件包为最新版本,及时修复安全漏洞:

# Debian/Ubuntu
sudo apt update && sudo apt upgrade openssh-server
# CentOS/RHEL
sudo yum update openssh-server

使用 fail2ban 防暴力破解

安装 fail2ban 工具,自动封禁频繁尝试登录的恶意 IP:

# Debian/Ubuntu
sudo apt install fail2ban -y
# CentOS/RHEL
sudo yum install fail2ban -y

配置 /etc/fail2ban/jail.local 文件,启用 SSH 防护规则。

禁用空密码和弱密码

确保所有用户设置强密码,并在配置文件中添加以下行禁用空密码:

PermitEmptyPasswords no

限制登录尝试次数

/etc/ssh/sshd_config 中添加以下参数,限制登录失败次数:

MaxAuthTries 3

常见问题排查

连接被拒绝或超时

  • 检查 SSH 服务是否运行:sudo systemctl status sshd
  • 确认防火墙是否开放端口:sudo ufw statussudo firewall-cmd --list-ports
  • 查看日志文件 /var/log/auth.log(Ubuntu)或 /var/log/secure(CentOS)定位错误原因。

权限问题导致密钥认证失败

确保服务器端 ~/.ssh 目录权限为 700,authorized_keys 文件权限为 600:

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

通过本文的介绍,用户已掌握在 Linux 系统中开启、配置及优化 SSH 服务的完整流程,SSH 服务作为远程管理的核心工具,其安全性至关重要,建议用户在实际操作中严格遵循安全规范,定期更新和维护配置,确保服务器远程连接的稳定与安全,无论是个人开发者还是企业运维,熟练掌握 SSH 服务的管理都能显著提升工作效率和系统安全性。

赞(0)
未经允许不得转载:好主机测评网 » Linux开启SSH服务后如何远程连接?步骤配置详解