在Windows系统中远程连接Linux服务器或主机是日常运维、开发中常见的操作,主要通过SSH(Secure Shell)协议实现安全连接,也可结合图形化工具实现远程桌面,本文将详细介绍具体操作步骤、常用工具及问题解决方法。

准备工作
在开始远程连接前,需确保Linux和Windows两端满足以下条件:
Linux端配置
-
开启SSH服务:SSH是远程连接的核心服务,大多数Linux发行版默认安装,但需确保服务运行。
- 检查SSH状态:
sudo systemctl status ssh(或sshd,根据发行版不同) - 若未安装,通过包管理器安装(如Ubuntu/Debian:
sudo apt install openssh-server;CentOS/RHEL:sudo yum install openssh-server) - 启动并设置开机自启:
sudo systemctl start ssh&&sudo systemctl enable ssh
- 检查SSH状态:
-
获取Linux主机IP地址:
- 通过命令
ifconfig或ip addr查看局域网IP(如168.1.100),若为远程服务器,需使用公网IP(需确保路由器端口映射及防火墙放行)。
- 通过命令
-
配置防火墙:
- 开放SSH默认端口22(若修改过端口需开放对应端口):
- Ubuntu/Debian:
sudo ufw allow 22/tcp - CentOS/RHEL:
sudo firewall-cmd --permanent --add-port=22/tcp&&sudo firewall-cmd --reload
- Ubuntu/Debian:
- 开放SSH默认端口22(若修改过端口需开放对应端口):
Windows端配置
- 安装SSH客户端:
- Windows 10/11内置OpenSSH:无需安装,直接在“设置”-“应用”-“可选功能”中开启“OpenSSH客户端”。
- PuTTY工具:若需图形化界面,可从官网下载PuTTY(https://www.putty.org/),支持SSH连接及端口转发等功能。
远程连接方法
方法1:命令行远程(SSH,无图形界面)
适用场景:服务器管理、命令行操作,资源消耗低。
通过Windows Terminal/PowerShell连接
-
打开Windows Terminal(或PowerShell/CMD),输入以下命令:
ssh username@Linux_IP地址
username:Linux系统用户名(如root或普通用户ubuntu)Linux_IP地址:Linux主机IP(如168.1.100)
-
首次连接会提示“ authenticity of host…”,输入
yes确认,然后输入Linux用户密码(密码输入时不显示,直接输入后按回车)。
-
连接成功后,即可在Windows终端中操作Linux命令行。
通过PuTTY连接
-
打开PuTTY,在“Session”页面配置:
Host Name (or IP address):输入Linux IP地址Port:默认22(若SSH修改过端口,需填写对应端口)Connection type:选择SSH- 可在“Saved Sessions”输入名称(如
MyLinux),点击“Save”保存会话,方便下次使用。
-
点击“Open”,首次连接会弹出“Security Alert”,选择“是”,然后输入用户名和密码,即可进入Linux命令行。
方法2:图形界面远程(VNC/RDP,可视化操作)
适用场景:需要操作Linux图形桌面(如GNOME、KDE),适合开发、设计等场景。
Linux端安装VNC服务
-
安装VNC服务器(以TightVNC为例):
sudo apt update && sudo apt install tightvncserver # Ubuntu/Debian sudo yum install tightvnc-server-server # CentOS/RHEL
-
设置VNC密码:
vncserver
首次运行会提示设置密码(至少6位),可设置“只 viewing 密码”(无鼠标键盘操作权限)或“完全控制密码”(有操作权限)。

-
配置VNC桌面环境:
- 停止默认VNC服务:
vncserver -kill :1(1为显示编号) - 编辑配置文件
~/.vnc/xstartup,取消或修改以下内容(以GNOME桌面为例):unset SESSION_MANAGER unset DBUS_SESSION_BUS_ADDRESS exec /usr/bin/gnome-session # 启动GNOME桌面
- 重启VNC服务:
vncserver :1 -geometry 1920x1080 -depth 24(分辨率和颜色深度可自定义)
- 停止默认VNC服务:
Windows端连接VNC
-
下载VNC Viewer客户端(如RealVNC、TightVNC Viewer),官网地址:https://www.realvnc.com/en/connect/download/viewer/
-
打开VNC Viewer,输入Linux IP地址:显示编号(如
168.1.100:1),点击“Connect”,输入VNC密码即可进入Linux图形桌面。
常见问题及解决方法
| 问题现象 | 可能原因 | 解决方法 |
|---|---|---|
连接超时(Connection timed out) |
Linux SSH服务未启动/防火墙拦截 | 检查SSH状态:sudo systemctl status ssh;开放22端口:sudo ufw allow 22 |
提示Permission denied (publickey,password) |
密码错误或SSH密钥未配置 | 确认密码正确;或生成SSH密钥对(Windows端:ssh-keygen -t rsa,将公钥传至Linux:ssh-copy-id username@Linux_IP) |
| VNC连接黑屏/无法显示桌面 | VNC配置文件未正确设置桌面环境 | 编辑~/.vnc/xstartup,确保exec桌面环境命令(如gnome-session、startkde) |
| 图形界面卡顿 | VNC分辨率过高或网络延迟 | 调整VNC分辨率:vncserver :1 -geometry 1280x720;使用有线网络或优化Wi-Fi |
相关问答FAQs
Q1:Windows远程Linux时提示“Connection refused”,如何解决?
A:通常因SSH服务未启动或端口错误导致,首先在Linux端检查SSH状态:sudo systemctl status ssh,若未运行则执行sudo systemctl start ssh;其次确认防火墙是否开放SSH端口(默认22),可通过sudo netstat -tuln | grep 22检查端口监听状态;若修改过SSH端口(如2222),需确保Windows端连接时使用新端口,且Linux防火墙放行该端口。
Q2:如何通过SSH在Windows和Linux之间传输文件?
A:可通过以下两种方式实现:
- 命令行传输(scp):
- 从Windows传文件到Linux:在Windows Terminal中执行
scp local_file username@Linux_IP:/remote/path(如scp C:test.txt ubuntu@192.168.1.100:/home/ubuntu/) - 从Linux传文件到Windows:
scp username@Linux_IP:/remote/path local_path(如scp ubuntu@192.168.1.100:/home/ubuntu/test.txt C:UsersName)
- 从Windows传文件到Linux:在Windows Terminal中执行
- 图形化工具(WinSCP):下载WinSCP(https://winscp.net/),输入Linux IP、用户名、密码,登录后可直接拖拽文件传输,支持可视化操作。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/33186.html