插件窝 干货文章 如何在Linux上配置远程访问

如何在Linux上配置远程访问

sudo 服务 systemctl bash 57    来源:    2025-04-16

在Linux上配置远程访问可以通过多种协议实现,最常用的是SSH(安全Shell)和VNC(虚拟网络计算)。以下是详细的配置方法:


一、SSH 远程访问配置

SSH 是加密的远程命令行管理协议,默认使用22端口。

1. 安装SSH服务端

# Ubuntu/Debian
sudo apt update
sudo apt install openssh-server

# CentOS/RHEL
sudo yum install openssh-server

2. 启动SSH服务

sudo systemctl start sshd    # 启动服务
sudo systemctl enable sshd   # 设置开机自启

3. 检查服务状态

sudo systemctl status sshd

4. 配置防火墙(如启用)

# Ubuntu/Debian (ufw)
sudo ufw allow 22/tcp

# CentOS/RHEL (firewalld)
sudo firewall-cmd --add-service=ssh --permanent
sudo firewall-cmd --reload

5. 远程连接

从客户端使用以下命令连接:

ssh username@服务器IP地址

6. 安全加固(可选)

  • 修改默认端口:编辑 /etc/ssh/sshd_config,修改 Port 2222,重启服务。
  • 禁用root登录:设置 PermitRootLogin no
  • 密钥认证:使用 ssh-keygen 生成密钥对,禁用密码登录。

二、VNC 远程桌面访问

适用于图形界面环境(如Ubuntu Desktop)。

1. 安装VNC服务端

# Ubuntu/Debian
sudo apt install tightvncserver

# CentOS/RHEL
sudo yum install tigervnc-server

2. 设置VNC密码

vncserver  # 首次运行会提示设置密码

3. 配置服务文件(Systemd)

创建服务文件 /etc/systemd/system/vncserver@.service,内容示例:

[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target

[Service]
Type=forking
User=your_username
ExecStart=/usr/bin/vncserver :1 -geometry 1920x1080 -depth 24
ExecStop=/usr/bin/vncserver -kill :1

[Install]
WantedBy=multi-user.target

4. 启动服务

sudo systemctl daemon-reload
sudo systemctl start vncserver@1
sudo systemctl enable vncserver@1

5. 防火墙放行

sudo ufw allow 5901/tcp  # 默认端口5900+:1

6. 客户端连接

使用VNC客户端(如RealVNC、TigerVNC)连接:

服务器IP地址:1

三、其他方式

  1. RDP(xrdp)
    适合Windows用户习惯:

    sudo apt install xrdp  # Ubuntu
    sudo systemctl enable xrdp
    
  2. WebSSH(通过浏览器)
    使用工具如 shellinaboxwetty


四、安全注意事项

  1. 使用强密码或密钥认证
  2. 限制访问IP:通过防火墙或SSH的 AllowUsers 配置。
  3. 定期更新服务软件sudo apt upgrade openssh-server

常见问题排查

  • 连接被拒绝:检查服务是否运行、防火墙规则、端口是否监听(ss -tulnp | grep ssh)。
  • 图形界面黑屏:确保桌面环境已安装(如GNOME、XFCE)。

根据需求选择协议,SSH适合管理,VNC/RDP适合图形操作。