夜雨聆风学习资料网

ARTICLE · 1250921

别再给远程控制软件交会员了 —— Windows 自带 SSH,免费远程白话教程

别再给远程控制软件交会员了 —— Windows 自带 SSH,免费远程白话教程

赶项目到一半,远程软件突然卡成 PPT,还弹个"开通会员立即加速"的窗;免费版限速、高峰排队、广告三连——你是不是早就习惯了忍?

其实不用忍。Windows、macOS、Linux 系统里早就自带了一个免费、不限速、不排队、端到端加密的远程工具,它叫 SSH。

这篇白话教程只做一件事:带你把它真正用起来——开客户端、装服务端、配免密登录,全程不花一分钱。学完你就能在自己电脑上敲一行命令,远程操作另一台机器跑命令、看日志、传文件。

下一篇讲进阶:对方机器藏在内网、你直接 ping 不到它时,怎么用 ssh -J 找台中继机一条命令跳进去,配合 Tailscale,人在外地也能连回家。


〇、为什么要折腾这个

你是不是一直在用某to、某葵、某team远程连家里或办公室的电脑?

免费版的德行大家都懂:网速被压、高峰排队、弹广告、想多连几台或传大文件就要开会员。

其实从 Windows 10 1809(2018 年秋天)开始,系统已经自带了一个叫 SSH 的远程工具;Linux、macOS 更是出厂就有。它的特点是:

  • 完全免费
    ,没有连接数限制、没有会员;
  • 极省带宽
    ,它不传画面,只传命令和文字;
  • 稳定
    ,一连上去挂几小时不断;
  • 安全
    ,所有传输都是加密的。

它跟某to的区别只有一个:某to让你看到对方的屏幕、用鼠标点;SSH 让你在对方电脑上敲命令行。

但你想想——远程连过去,90% 的事不就是看日志、起服务、拷文件、跑脚本吗?这些事用命令行比用鼠标点快得多。真需要看图形界面的时候,再临时开某to也不迟。


一、SSH 是个啥?

打个比方:

  • 某to / 某葵
    像"远程电视"——你看到对方的屏幕,用鼠标点点点。
  • SSH
    像"远程打字机"——你在自己电脑上敲命令,对方电脑执行,把结果文字传回来。没有画面,只有文字。

它能做的事:在对方电脑上跑命令、跑脚本、看日志、装软件、同步文件,全程加密。

它不适合做的事:看图形界面、远程看视频、操作画图软件——那些场景留给某to / VNC。


二、在你自己电脑上用 SSH(客户端)

你自己这台电脑叫客户端,被连的那台叫服务端。

2.1 Windows 10/11 已经自带客户端,不用装任何东西

右键屏幕左下角的开始按钮,点 "终端" 或 "Windows PowerShell":

弹出来的那个黑窗口就是我们要用的工具。

Windows 7 或精简版系统怎么办? Windows 7 没有自带 SSH,需要手动装。去微软官方开源项目页下载: https://github.com/PowerShell/Win32-OpenSSH/releases 下载最新版的 OpenSSH-Win64.zip,解压到 C:\Program Files\OpenSSH\,再把这个目录加到系统环境变量 PATH 里即可。 普通用 Windows 10 / 11 的读者可以直接跳过这段。

2.2 敲一行命令就连过去

格式很简单:

ssh 用户名@对方电脑的IP地址 

比如对方电脑的用户名是 zhangsan,IP 是 192.168.1.50,那就敲:

2.3 第一次连接,它会问你一句"yes/no"

第一次连某台机器时,它会冒出来一大段英文,最后问你 Are you sure you want to continue connecting (yes/no)?

意思是"我以前没见过这台机器,你确定它是真的吗?"——敲 yes 回车就行:

2.4 然后问密码

接下来它会显示一行 password:,让你输密码。

注意:输密码的时候,屏幕上不会显示任何星号、也不会显示你敲了什么——这是正常的! 盲打输完直接回车:

2.5 连成功了长什么样?

看到类似下面这种提示符,就说明你已经身在远程电脑里了:

接下来你敲的每一条命令,都是在那台远程电脑上执行,不是在你自己电脑上。

2.6 怎么退出来?

在远程会话里敲 exit 回车,或者直接按 Ctrl + D,就回到你自己电脑了。


三、把一台 Windows 电脑变成 SSH 服务器

上面讲的是"我主动去连别人"。那反过来:我想让别人(或我自己从另一台电脑)能 SSH 连到这台 Windows 上来,行不行?

行。Windows 10/11 同样自带 OpenSSH 服务器组件,只是默认没装。

3.1 在"设置"里装 OpenSSH 服务器

打开 设置 → 系统 → 可选功能 → 添加功能,搜索 OpenSSH,勾选 "OpenSSH 服务器",点安装:

装完后,右键开始菜单 → "终端(管理员)",敲下面两行启动服务并设为开机自启:

Start-Service sshd Set-Service sshd -StartupType Automatic 

再敲一行 Get-Service sshd,看到 Status 是 Running 就成了。Windows 防火墙一般会自动放行 22 端口,不用额外折腾。

3.2 从另一台电脑连它

在另一台电脑的终端里:

ssh 这台Windows的用户名@这台Windows的IP 

密码就是这台 Windows 的登录密码。

微软账户的坑:如果这台 Windows 是用微软邮箱账户(xxx@outlook.com)登录的,SSH 用的密码不是你平时输的 PIN,而是微软账户的在线密码。建议专门建一个本地账户用来 SSH,省事。

3.3 连进去之后是什么样?

  • 默认进入 C:\Users\你的用户名 目录;
  • 默认是 CMD 命令行,可以敲 dir、cd、ipconfig 这些 Windows 命令;
  • 敲 exit 退出。

四、把 Linux 机器变成 SSH 服务器

大多数 Linux(Ubuntu、CentOS、麒麟等)出厂就已经开了 SSH 服务,一般什么都不用做。

如果发现连不上,登录那台 Linux,敲一行:

sudo systemctl enable --now ssh 

Ubuntu / Debian 系列如果提示找不到 ssh,先 sudo apt install openssh-server 装一下;CentOS / 麒麟系列用 sudo dnf install openssh-server。


五、免密登录(强烈建议配一次)

每次 SSH 都输密码很烦,一天连几十次能把人逼疯。更要命的是——脚本里要自动 SSH 上去跑命令,总不能让脚本停下来等人输密码。

所以业界标配是密钥登录,俗称"免密登录"。配一次,以后永远不问密码。

5.1 原理:一把锁 + 一把钥匙

  • 公钥
     = 一把锁。你可以把它随便发给任何人、贴在任何机器上,不怕被人拿到。
  • 私钥
     = 这把锁对应的唯一钥匙。永远不能离开你自己的电脑,谁都不给。

配免密的过程就是:在本机生成一对锁和钥匙 → 把锁贴到服务器上 → 以后你再连,服务器出题、你本机用钥匙自动解,验证通过直接放你进,不问密码。

整个过程中钥匙从来没离开过你的电脑,比密码登录还安全。

5.2 第一步:在本机生成钥匙

在你自己电脑的 PowerShell 里敲:

ssh-keygen -t ed25519 

它会连问你三个问题,一路直接按回车就行:

完成后,在 C:\Users\你的用户名\.ssh\ 下会多出两个文件:

文件
是什么
怎么处理
id_ed25519私钥(钥匙)
绝对不能外传、不能丢
id_ed25519.pub公钥(锁)
可以随便给,要贴到每台你想连的服务器上

建议把 id_ed25519 备份一份到 U 盘。这把钥匙丢了,就得靠密码重新去每台服务器上贴锁。

5.3 第二步:把锁贴到服务器上

用记事本打开 id_ed25519.pub 文件,把里面那串全部内容复制下来,然后:

  • Linux 服务器
    :登录上去,把这串内容追加到 ~/.ssh/authorized_keys 文件末尾;
  • Windows 服务器
    :管理员账户的话,追加到 C:\ProgramData\ssh\administrators_authorized_keys 文件末尾。

具体怎么登录上去贴?——用你上一章学的 SSH 密码登录连上去,再用记事本或 nano 打开那个文件粘贴保存就行。

5.4 验证

再敲一次 ssh 用户名@服务器IP:

直接进去、不问密码,就成了。

日常建议:刚配好的时候密码登录先保留一段时间,万一密钥出问题还能救场;稳定一两周后再考虑关掉密码登录(公网暴露的机器尤其要关)。


六、常见小问题排查

按顺序查,90% 的问题都在前两条:

  1. 连不上、超时
    :先在本机 ping 服务器IP,看通不通。不通就是网络问题(不在一个网、防火墙没放行、服务器没开机)。
  2. 通了但拒绝密码
    :服务器上 SSH 服务没起来(Linux: sudo systemctl status ssh,Windows: Get-Service sshd)。
  3. 端口不是 22
    :连的时候加 -p 端口号,比如 ssh -p 2222 zhangsan@192.168.1.50。
  4. 第一次连接报 WARNING 说指纹变了
    :说明这台服务器重装过系统。去本机 C:\Users\你\.ssh\known_hosts 里删掉对应那一行,重连重新确认即可。

七、一句话总结

SSH 就是系统自带的、免费的、命令行版远程控制。 你自己电脑上 PowerShell 直接 ssh 用户名@IP 就能用,不用装客户端; 想让一台 Windows 被连,在"设置→可选功能"里装 OpenSSH 服务器、启动服务即可; Linux 基本自带,没开就 sudo systemctl enable --now ssh; 花十分钟配一次密钥免密,以后连哪台都不再输密码——这是整套用法里最值得做的事。 日常远程跑命令、看日志,这一套就够了,不用再给某to交会员。


下一篇(进阶篇)预告:如果对方那台机器藏在内网里,你的电脑直接 ping 不到它怎么办?这就要用"中继机 + -J 一跳直达",人在外地时再配合 Tailscale 拉一条虚拟隧道。这部分内容单独在《内网机器直连不到?人在外网,也能通过中继跳进实验室》里讲。

相关学习资料