Windows主机怎么SSH连Linux虚拟机,详细操作步骤是什么?

Windows主机通过SSH连接Linux虚拟机,核心是确认IP可达、开启SSH服务、使用正确的认证方式,三步之内即可完成。

很多人在Windows上装了VMware或VirtualBox,跑起来一个Linux系统,却发现没法像Windows远程桌面那样直接连上去,其实SSH连接本身不复杂,但卡住的人往往卡在IP地址、网络模式或者密钥权限这些细节上,我按实际排查顺序,把从零到通的完整过程拆开讲。

主机(win10)与连接VMware虚拟机centos步骤NAT连接方式(有声版)
加载中
主机(win10)与连接VMware虚拟机centos步骤NAT连接方式(有声版)

SSH连接前,Linux虚拟机必须满足的三个条件

先别急着敲命令,SSH本质是两台机器之间的TCP通信,Windows主机能连上虚拟机,前提是虚拟机这边同时满足三个条件:SSH服务已安装并运行、网络模式允许主机访问、IP地址能从主机直接ping通,缺一个,后面全是白忙活。

检查并启动Linux自带的SSH服务

大多数Linux发行版默认不安装SSH服务端,只装了客户端,判断方法很简单,在Linux终端执行:

ps -ef | grep sshd

有输出说明sshd在跑,如果没输出,先安装:

  • Ubuntu/Debian系:sudo apt update && sudo apt install openssh-server -y
  • CentOS/RHEL系:sudo yum install openssh-server -y

装完启动并设置开机自启:

sudo systemctl start sshd
sudo systemctl enable sshd

个别版本的服务名是ssh而不是sshd,用systemctl status sshd报错时可以试systemctl status ssh,这一步搞不定,后面连不上不是网络问题,是服务压根没开。

网络模式怎么选:桥接还是NAT

这是Windows主机SSH连Linux虚拟机最常见的坑,VMware和VirtualBox默认都使用NAT模式,NAT模式下虚拟机通过宿主机共享IP上网,宿主机能ping通虚拟机,但虚拟机ping不通宿主机,而且外部设备(包括宿主机本身)默认无法直接访问虚拟机的端口。

如果你的目标是Windows主机SSH连虚拟机,推荐两种做法:

  • 桥接模式(推荐):让虚拟机直接获取局域网独立IP,和宿主机处于同一网段,SSH就像连一台普通电脑一样。
  • NAT模式+端口转发:保持在NAT模式,手动把宿主机的某个端口(比如2222)转发到虚拟机的22端口。

用桥接模式最省心,在VMware里右键虚拟机设置,网络适配器选“桥接模式”,VirtualBox里选“桥接网络”,如果公司或校园网做了MAC地址过滤,桥接可能拿不到IP,这时改用NAT端口转发。

确认虚拟机IP,并测试宿主机连通性

在Linux终端输入:

Windows主机怎么SSH连Linux虚拟机,详细操作步骤是什么?

ip addr

找到inet后面的地址,类似168.1.100,然后回到Windows的命令行,执行:

ping 192.168.1.100

能收到回复,说明网络通,ping不通时,优先查两件事:虚拟机防火墙是否阻止ICMP,以及网络模式是不是NAT但没做转发,Ubuntu默认防火墙ufw是关闭的,CentOS的firewalld默认开着但通常放行22端口,临时关闭防火墙测试可以用sudo ufw disable或sudo systemctl stop firewalld,确认能连上后再按需放行端口。

Windows端SSH连接实操:命令和工具怎么选

Windows 10 1803版本以后,系统自带了OpenSSH客户端,不需要额外装软件,直接打开PowerShell或CMD,用标准命令:

ssh 用户名@虚拟机IP

比如ssh root@192.168.1.100,首次连接会提示确认指纹,输入yes回车,然后输密码,这个过程中最容易遇到的问题是“Connection timed out”和“Connection refused”:

  • timed out:通常是网络不通,回去检查IP、ping、网络模式。
  • refused:SSH服务没起,或者端口没监听,回到第一步查sshd。

密钥登录比密码更安全,用ssh-keygen生成

密码登录方便,但容易遭受暴力破解,业内专家指出,生产环境强烈建议禁用密码登录,改用密钥对,Windows主机上生成密钥对:

ssh-keygen -t rsa -b 4096

默认生成到C:Users你的用户名.ssh目录,文件名是id_rsa(私钥)和id_rsa.pub(公钥),然后把公钥复制到Linux虚拟机的~/.ssh/authorized_keys文件里,最省事的方式是用ssh-copy-id,这个命令在Windows PowerShell里没有,但可以手动操作:

  • 在Windows上查看公钥内容:cat ~/.ssh/id_rsa.pub
  • 在Linux上把公钥追加到授权文件:mkdir -p ~/.ssh && echo "粘贴公钥内容" >> ~/.ssh/authorized_keys && chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys

之后用ssh -i C:Users你的用户名.sshid_rsa 用户名@虚拟机IP登录,不再需要密码,不少运维老手会直接把私钥加入Windows的SSH代理,避免每次敲路径。

搞不定命令?可视化工具也是一个选择

如果你平时不太习惯敲命令,或者需要管理多台虚拟机,用可视化SSH工具更顺手,Windows上常用的有两类:

  • 跨平台开源:PuTTY,老牌轻量,缺点是界面风格老旧,密钥管理稍繁琐。
  • Windows主机怎么SSH连Linux虚拟机,详细操作步骤是什么?

  • 现代终端:MobaXterm、Tabby、Windows Terminal配合OpenSSH,支持标签页、文件传输、会话保存。

个人感受是:单台虚拟机测试用系统自带命令就够,多台环境管理用MobaXterm这类工具能省不少事,但无论用哪个工具,底层都是SSH协议,前面讲的网络和服务排查逻辑完全一样。

虚拟机IP老变?配置静态IP一劳永逸

DHCP分配的IP不固定,虚拟机重启后可能就换地址了,Windows主机SSH连接Linux虚拟机,最怕今天连得上明天连不上,解决办法是给Linux配置静态IP。

Ubuntu使用netplan配置静态IP

Ubuntu 18.04以后的配置文件在/etc/netplan/目录下,通常叫01-netcfg.yaml,编辑它:

sudo nano /etc/netplan/01-netcfg.yaml
network:
  version: 2
  ethernets:
    ens33:
      dhcp4: no
      addresses:
        - 192.168.1.100/24
      routes:
        - to: default
          via: 192.168.1.1
      nameservers:
        addresses: [223.5.5.5, 8.8.8.8]

注意网卡名(ens33)要用ip addr查到的实际名称,网关地址填你路由器的IP,应用配置:

sudo netplan apply

CentOS使用nmcli或修改ifcfg文件

CentOS 7及更高版本推荐用nmcli:

sudo nmcli connection modify ens33 ipv4.addresses 192.168.1.100/24
sudo nmcli connection modify ens33 ipv4.gateway 192.168.1.1
sudo nmcli connection modify ens33 ipv4.dns 223.5.5.5
sudo nmcli connection modify ens33 ipv4.method manual
sudo nmcli connection up ens33

同样把ens33替换成实际网卡名,配完先用ip addr确认,再回Windows重新ping一次,通了就稳了。

常见连接失败场景排查清单

把这些年帮人排查过的案例汇总一下,90%以上的Windows连不上Linux虚拟机的问题,跑一遍下面这个清单就能定位。

ping不通,SSH显示超时

  • 宿主机和虚拟机的网络模式是否为NAT且未配置端口转发
  • 虚拟机的网卡是否已启用,ip addr里有没有IP地址
  • 宿主机防火墙是否拦截了ICMP或SSH端口(Windows Defender防火墙在专用网络下一般允许ping,但也要确认)
  • 路由器是否开启了AP隔离(常见于公司或酒店WiFi)

ping得通,但SSH端口不通

先测端口:

Test-NetConnection 虚拟机IP -Port 22

返回TcpTestSucceeded : True就通,不通时:

  • 在Linux上运行ss -tlnp | grep 22,确认sshd正在监听
  • Windows主机怎么SSH连Linux虚拟机,详细操作步骤是什么?

  • 检查Linux防火墙,CentOS上firewall-cmd --list-all看22端口是否放行
  • 如果用NAT端口转发,检查宿主机的转发端口是否被其他程序占用

密码正确但登录被拒绝

  • 确认输入的用户名是Linux系统的实际用户名,不是Windows的用户名
  • 检查/etc/ssh/sshd_config里PasswordAuthentication是否被设为no
  • 查看系统日志sudo journalctl -u sshd,看有没有明确的错误提示

多虚拟机场景怎么管理才高效

运行多个Linux虚拟机时,每台都敲IP连接容易记混,推荐在Windows上配置SSH config文件,位置在C:Users你的用户名.sshconfig,没有就新建一个,格式如下:

Host vm-web
    HostName 192.168.1.100
    User ubuntu
    IdentityFile ~/.ssh/id_rsa
Host vm-db
    HostName 192.168.1.101
    User centos
    IdentityFile ~/.ssh/id_rsa

之后直接敲ssh vm-web就能连上,不用记IP和用户名,这个习惯对同时管理多台虚拟机的场景帮助很大,也降低了日常连接虚拟机的操作成本。

Q&A:Windows主机SSH连接Linux虚拟机常见疑问

为什么SSH连接很慢,输完密码要等好几秒才进

常见原因是SSH服务开启了DNS反向解析,修改/etc/ssh/sshd_config,找到UseDNS,把yes改为no,重启sshd服务即可,另一个原因是客户端GSSAPI认证超时,在Windows的/etc/ssh/ssh_config里把GSSAPIAuthentication设为no。

虚拟机能连外网但宿主机连不上,是什么原因

可能性最大的是网络模式是NAT但未启用端口转发,NAT模式下虚拟机访问外网通过宿主机转发出站流量,但宿主机发起进站连接默认不会到达虚拟机,解决办法是把网络模式改成桥接,或者在NAT设置里添加一条目的端口22的端口转发规则。

Windows自带SSH和PuTTY相比,用哪个更合适

系统自带的OpenSSH在Windows 10以上版本直接可用,支持密钥、跳板机、代理,而且和Linux端的SSH行为一致,适合大多数日常场景,PuTTY的优势是体积小、绿色免安装、对老系统兼容好,但密钥格式和Windows自带的不完全兼容,需要单独转换工具处理。选哪个取决于你的使用习惯,单机测试用自带命令行就够,生产环境批量管理建议统一用OpenSSH加配置文件的方案。

SSH连接本身不是难事,把服务和网络这两条线理清楚,任何Windows和Linux的组合都能顺利打通,遇到问题别急着重装系统,按上面排查清单逐项验证,多数情况下是某个防火墙规则或者网络模式的小配置挡住路。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/windows%e4%b8%bb%e6%9c%ba%e6%80%8e%e4%b9%88ssh%e8%bf%9elinux%e8%99%9a%e6%8b%9f%e6%9c%ba%ef%bc%8c%e8%af%a6%e7%bb%86%e6%93%8d%e4%bd%9c%e6%ad%a5%e9%aa%a4%e6%98%af%e4%bb%80%e4%b9%88%ef%bc%9f/

赞 (0)
Fusion Pro虚拟机卡顿怎么办?,虚拟机运行慢怎么解决
上一篇 2026年8月30日 23:15
新手如何在虚拟机上快速搭建Java开发环境?,详细步骤是什么
下一篇 2026年8月30日 23:17

相关推荐

  • 域名跳转隐藏域名怎么设置才安全有效?

    域名隐藏跳转要想安全有效,核心在于使用“独立服务器/云主机 + Nginx反向代理”方式,而非依赖第三方DNS服务商的隐性转发(iframe/302)功能,很多人做域名跳转,目的就是不想让用户看到那个冗长的真实地址,想用自己的短域名或品牌域名把内容“包”起来,但这个需求近几年越来越难做,原因很简单:免费DNS的……

    2026年9月7日
    200
  • 放服务器的货架有哪些类型,如何挑选性价比高的?

    放服务器的货架,核心答案就一句话:市面上主流的选项有标准机柜、开放式机架、重型工业货架和定制化服务器货架,具体选哪种取决于你的服务器形态、机房空间和预算,很多人第一次搭建机房,容易把“放服务器的货架”和普通仓库货架混为一谈,其实这里面的门道不少,今天咱就从一个老运维的角度,把这件事掰开揉碎聊清楚,放服务器的货架……

    2026年10月5日
    200
  • Folo是什么?好用的RSS订阅工具推荐

    Folo 是一款基于现代技术栈构建的 RSS 阅读器,它通过极简的界面设计和强大的自动化能力,帮助用户在信息过载时代重新掌控阅读主动权,尤其适合追求高效信息获取的专业人士,在算法推荐主导的今天,我们往往陷入“信息茧房”的困境,Folo 的出现并非为了制造新的焦虑,而是提供一种回归本质的解决方案,它不依赖复杂的算……

    2026年6月25日
    1810
  • 算力服务器包括哪些关键硬件,多少钱一台?

    算力服务器不是单一产品,而是一整条按芯片架构、外形形态和使用场景划分的硬件谱系, 简单说,它主要包括GPU服务器、CPU服务器、ASIC/FPGA/NPU等专用加速服务器,再按机架式、刀片式、整机柜和边缘形态落地,最终对应训练、推理、通用计算和存储等不同任务,算力服务器包括哪些类型?先按芯片架构分一遍芯片决定了……

    服务器宽带 2026年10月30日
    100
  • HTML制作网站步骤是什么?零基础建站教程

    © 2026 我的网站. All rights reserved.“`这段代码定义了页面的语言为中文,设置了视口以适配移动端,并引入了外部CSS样式表,第二步:编写CSS样式美化页面HTML负责结构,CSS负责外观,创建一个名为style.css的文件,与HTML文件放在同一目录下,全局重置:清除浏……

    2026年6月7日
    4300
  • 重装后虚拟机无法启动怎么办?数据怎么恢复?

    重装系统后虚拟机无法启动,九成以上是因为引导配置丢失或虚拟磁盘文件路径失效,虚拟机镜像文件本身完好,数据完全可以通过修复引导或挂载磁盘的方式找回,不用急着重建或格式化,为什么重装系统后虚拟机无法启动很多人重装物理机系统前没留意虚拟机文件存放在哪个分区,装完系统一打开虚拟机软件就傻眼了,其实虚拟机打不开的原因并不……

    2026年9月2日
    300
  • 顶级域名gb域名是什么意思?有什么特殊含义吗?

    .gb域名是分配给英国的国家顶级域名,但它在现实中几乎不对外开放注册,更像一个“理论存在”的代码,对于绝大多数互联网用户和站长来说,.gb域名更像一个冷知识,它不像.com或.cn那样常见,甚至比一些新顶级域名还要小众,下面带你彻底搞懂这个特殊域名的来龙去脉,以及它背后那些不为人知的故事,.gb域名的真实身份是……

    2026年9月5日
    300
  • 通用服务器设备到底包括哪些,服务器设备怎么选才合适?

    通用服务器设备是支撑企业信息化建设的核心硬件,主流类型包括机架式服务器、塔式服务器、刀片服务器和高密度服务器,其中机架式服务器是当前数据中心最普遍的选择,本文基于实际选型场景,梳理常见通用服务器的分类、适用场景与采购要点,帮助你在预算范围内做出合理决策,通用服务器设备有哪些型号,首先看机架式服务器机架式服务器是……

    服务器宽带 2026年10月24日
    100
  • action怎么传json数据库?action传json到数据库报错怎么办

    Action通过HTTP请求将JSON数据发送至后端接口,由后端接收并解析后存入数据库,核心在于确保Content-Type头设置为application/json且数据格式符合后端预期,在Web开发和移动端应用交互中,前端与后端的数据传输是构建动态应用的基础,Action作为触发逻辑的关键环节,其传递数据的效……

    2026年6月30日
    1400
  • 互联网到物联网的区别是什么,物联网技术应用场景有哪些

    互联网到物联网的演进并非简单的设备联网,而是从“连接人”向“连接物并产生智能决策”的范式转移,其核心在于通过边缘计算与AI融合,实现物理世界的数字化重构与自动化闭环,从信息互联到智能物联的底层逻辑跃迁过去二十年,互联网解决了信息不对称的问题,让我们能随时获取知识、沟通情感,但物联网(IoT)的出现,彻底改变了这……

    2026年6月4日
    4000

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注