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

Linux系统如何开启SSH服务远程连接?详细步骤有哪些?

SSH服务概述

SSH(Secure Shell)是一种加密的网络传输协议,主要用于远程登录和管理Linux系统,相较于传统的Telnet、FTP等明文传输协议,SSH通过加密机制保障了数据传输的机密性和完整性,有效防止了信息泄露和中间人攻击,在Linux系统中,SSH服务通常由OpenSSH软件包提供,其服务端程序为sshd,客户端程序为ssh,开启SSH服务是实现安全远程管理的基础操作,尤其适用于服务器运维场景。

Linux系统如何开启SSH服务远程连接?详细步骤有哪些?

检查SSH服务是否已安装

在开启SSH服务前,需确认系统是否已安装OpenSSH软件包,不同Linux发行版的检查命令略有差异:

  • 基于Debian/Ubuntu的系统
    使用dpkg命令检查:

    dpkg -l | grep openssh-server

    若返回类似ii openssh-server 1:8.9p1-3ubuntu0.1 amd64 OpenSSH server for secure remote login的结果,表示已安装;若未安装,可通过以下命令安装:

    sudo apt update && sudo apt install openssh-server
  • 基于RHEL/CentOS的系统
    使用rpm命令检查:

    rpm -qa | grep openssh-server

    若未安装,使用yumdnf安装:

    sudo yum install openssh-server  # CentOS 7及以下
    sudo dnf install openssh-server  # CentOS 8及以上

安装完成后,建议通过ssh -V命令验证客户端版本,确保安装成功。

启动并启用SSH服务

确认SSH服务安装后,需启动服务并设置为开机自启,以确保远程连接的持续性。

启动SSH服务

  • 使用systemd(现代Linux发行版主流)
    sudo systemctl start sshd
  • 使用service(旧版系统)
    sudo service sshd start

设置开机自启

  • systemmctl方式

    sudo systemctl enable sshd

    此命令会在系统启动时自动加载SSH服务,避免手动干预。

    Linux系统如何开启SSH服务远程连接?详细步骤有哪些?

  • chkconfig方式(RHEL/CentOS 6及以下)

    sudo chkconfig sshd on

验证服务状态

通过以下命令确认SSH服务是否正常运行:

sudo systemctl status sshd

若返回Active: active (running),表示服务已成功启动。

配置SSH服务(可选但推荐)

默认的SSH配置可能无法满足安全或个性化需求,可通过编辑/etc/ssh/sshd_config文件进行调整,修改前建议备份原配置:

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

常用配置项

  • 修改默认端口
    默认端口为22,修改可降低自动化攻击风险:

    Port 2222  # 建议使用1024-65535之间的端口
  • 禁止root用户直接登录
    提升安全性,建议通过普通用户登录后切换至root:

    PermitRootLogin no
  • 限制登录用户
    仅允许特定用户远程登录:

    AllowUsers user1 user2
  • 启用密钥认证
    禁用密码登录,仅允许SSH密钥认证(更安全):

    PasswordAuthentication no
    PubkeyAuthentication yes

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

Linux系统如何开启SSH服务远程连接?详细步骤有哪些?

sudo systemctl restart sshd

配置防火墙规则

SSH服务默认监听22端口(或自定义端口),需确保防火墙允许该端口的入站流量。

firewalld(CentOS 7+/RHEL 7+/Fedora)

sudo firewall-cmd --permanent --add-service=ssh  # 允许SSH服务(默认端口)
sudo firewall-cmd --reload  # 重新加载防火墙

若使用自定义端口(如2222):

sudo firewall-cmd --permanent --add-port=2222/tcp
sudo firewall-cmd --reload

ufw(Ubuntu/Debian)

sudo ufw allow ssh  # 允许默认SSH端口
sudo ufw enable    # 启用防火墙(首次启用需确认)

自定义端口:

sudo ufw allow 2222/tcp

iptables(旧版系统)

sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT  # 允许22端口
sudo iptables-save > /etc/iptables/rules.v4       # 保存规则

客户端连接测试

配置完成后,可通过SSH客户端远程连接服务器,以Linux/macOS终端为例:

ssh username@server_ip

首次连接会提示确认服务器指纹(输入yes),之后输入用户密码即可登录,若配置了密钥认证,需添加-i参数指定私钥路径:

ssh -i ~/.ssh/private_key username@server_ip

若连接失败,可检查以下问题:

  • SSH服务是否运行(systemctl status sshd
  • 防火墙是否放行端口
  • 配置文件语法是否正确(sshd -t测试配置)

SSH服务的安全维护

为确保SSH服务长期安全运行,需定期进行以下维护:

  1. 更新系统:及时安装OpenSSH安全更新,修复已知漏洞。
  2. 监控日志:通过/var/log/auth.log(Ubuntu)或/var/log/secure(RHEL)监控登录尝试,发现异常IP立即封禁。
  3. 禁用不必要功能:如X11ForwardingAllowTcpForwarding等,减少攻击面。
  4. 定期轮换密钥:避免长期使用同一对SSH密钥。

通过以上步骤,可完成Linux系统中SSH服务的开启、配置与安全加固,为远程管理提供稳定、安全的连接通道。

赞(0)
未经允许不得转载:好主机测评网 » Linux系统如何开启SSH服务远程连接?详细步骤有哪些?