上一篇                     
               
			  linux系统如何开启远程
- Linux
- 2025-07-23
- 2643
 通过SSH服务(安装、启动并设置自启,开放防火墙端口)实现Linux远程访问
 
在Linux系统中开启远程访问功能,主要通过SSH、VNC或RDP等协议实现,以下是三种主流方法的详细配置步骤及注意事项:

SSH远程登录(命令行模式)
| 步骤 | 命令与操作 | 适用系统 | 注意事项 | 
|---|---|---|---|
| 安装SSH服务 | sudo apt-get update && sudo apt-get install openssh-server(Debian/Ubuntu)sudo yum install openssh-server(CentOS/RHEL) | Debian/Ubuntu/CentOS | 多数Linux发行版预装SSH客户端,但需手动安装服务器端。 | 
| 启动并启用服务 | sudo systemctl start sshsudo systemctl enable ssh | 所有系统 | 确保服务开机自启,避免重启后失效。 | 
| 配置防火墙 | sudo ufw allow 22(Ubuntu)sudo firewall-cmd --permansist add-port=22/tcp(CentOS) | 启用防火墙的系统 | 若防火墙未配置,可能导致远程连接被阻断。 | 
| SELinux配置 | sudo setsebool -P ssh_sysadm_login 1(允许root通过SSH登录) | CentOS/RHEL | 仅CentOS/RHEL需处理SELinux策略,避免权限不足。 | 
| 连接测试 | 客户端使用 ssh username@ip,建议使用密钥认证替代密码 | 所有系统 | 推荐禁用root直接登录(修改 /etc/ssh/sshd_config中的PermitRootLogin为no)以提升安全性。 | 
VNC远程桌面(图形界面)
| 步骤 | 命令与操作 | 适用系统 | 注意事项 | 
|---|---|---|---|
| 安装VNC服务器 | sudo apt-get install tightvncserver(Ubuntu)sudo yum install tigervnc-server(CentOS) | Debian/Ubuntu/CentOS | 不同发行版依赖的VNC软件包名称可能不同。 | 
| 启动VNC会话 | vncserver :1(创建桌面1)首次启动需设置密码 | 所有系统 | :1表示显示编号为1的桌面,对应端口5901;:2对应5902,依此类推。 | 
| 配置防火墙 | sudo ufw allow 5901(Ubuntu)sudo firewall-cmd --permansist add-port=5901/tcp(CentOS) | 启用防火墙的系统 | VNC默认端口为5900+显示编号(如5901),需开放对应端口。 | 
| 客户端连接 | 下载VNC客户端(如RealVNC、TigerVNC)输入 ip:1(如192.168.1.100:1) | 所有系统 | 若需浏览器访问,可使用 vnc.html文件配合虎椒浏览器,但需手动配置HTML文件。 | 
RDP远程桌面(Windows兼容)
| 步骤 | 命令与操作 | 适用系统 | 注意事项 | 
|---|---|---|---|
| 安装RDP组件 | sudo apt-get install xrdp(Ubuntu)sudo yum install epel-release && sudo yum install xrdp(CentOS) | Debian/Ubuntu/CentOS | CentOS需启用EPEL源。 | 
| 配置Xorg-Xrdp | 编辑 /etc/xrdp/xorgxrdp.conf,修改exec行为/usr/bin/xorgxrdp -nolisten tcp | 所有系统 | 确保Xorg-Xrdp支持多用户登录,避免会话冲突。 | 
| 启动并启用服务 | sudo systemctl start xrdpsudo systemctl enable xrdp | 所有系统 | 部分系统需额外安装 xorgxrdp(如Ubuntu)。 | 
| 配置防火墙 | sudo ufw allow 3389(Ubuntu)sudo firewall-cmd --permansist add-port=3389/tcp(CentOS) | 启用防火墙的系统 | RDP默认端口为3389,需开放防火墙规则。 | 
| 连接测试 | Windows客户端使用“远程桌面连接”输入Linux IP,或用RDP客户端(如Remmina) | 所有系统 | 首次连接可能提示证书错误,需在RDP客户端中忽略验证。 | 
方法对比与选择建议
| 特性 | SSH(命令行) | VNC(图形界面) | RDP(图形界面) | 
|---|---|---|---|
| 协议类型 | 文本传输 | 图形界面转发 | Windows兼容远程桌面 | 
| 默认端口 | 22 | 5900+显示编号 | 3389 | 
| 安全性 | 高(加密传输) | 中(可配置SSL/TLS) | 中(依赖RDP加密) | 
| 适用场景 | 服务器管理、脚本执行 | 跨平台图形操作 | Windows环境兼容 | 
| 性能开销 | 低 | 较高(依赖图形渲染) | 中等 | 
FAQs
如何更改SSH默认端口以提高安全性?
修改/etc/ssh/sshd_config文件中的Port参数(如改为2222),重启SSH服务后,防火墙需同步开放新端口。

如何限制VNC仅允许特定IP访问?
在vncserver命令中添加-localhost no参数允许外部连接,或通过防火墙规则(如`ufw allow from 192.168.1.100 to any port 590

 
  
			 
			 
			