Windows机器安装SSH搭建
为啥要装SSH
家里有多台Win机器,一台主机两个笔记本,本着不浪费的原则,打算把它们在平时的工作学习中利用起来。
家里的三台电脑都链接了同一个路由器,所有设备都在同一个子网下面,那么只需要开启端口确定协议,那么所有设备均可以进行互通互联,包括Android手机也可以使用ADB工具进行控制,那就可以抱着笔记本Surface(一台非常轻的电脑)躺床上远程开发。
让我们梳理下目标:
- 使用笔记本连上台式机上远程开发
- 开发时提供集成环境(组件这些东西当然交给台式机啦)
- 控制Android手机进行一些自动化操作(需要将手机通过USB链接电脑并打开调试模式)
既然咱们目标确定了,那么来这些目标怎么实现呢,笔者以前操作linux比较多,那肯定毫无疑问,SSH协议通信必须是我最佳选择,再通过使用zsh
、powershell
、bash
就能控制家里的所有设备了,嘻嘻,果然懒就是生产力。
安装OpenSSH
如果你有曾经有安装过git
的话,那么指不定你的电脑可能已经存在ssh客户端了,客户端只能是让你的机器有了链接别人的能力。
下图就是ssh-client已安装并且已经配置到环境变量中。
使用CMD
,或者powershell
均可以执行ssh username@hostname
,结合快捷键win+R
食用更佳方便。
举个例子,你要约喜欢的女孩子去看电影,那么你得先要有时间+获取到电影票的能力,而你喜欢的女孩子没有时间,那就算你发起“请求”(邀约),也肯定不能约到的。
上图就是192.168.1.9
这台机器不支持SSH协议链接,导致请求被拒(;´д`)ゞ
因此我们为了能链接上目标机器,需要给目标机器安装好能够接收到我们请求的服务端,即OpenSSH-Server。
接下来笔者会介绍三种安装OpenSSH的方法,更推荐脚本离线安装,又快又稳。
曾经笔者为了管理上百台windos服务器就是用的这个方法安装的,那服务器绝了,windowsXP、windows98 都有,这是没想到的。
使用 Windows 设置来安装 OpenSSH
可以使用 Windows Server 2019 和 Windows 10 设备上的 Windows 设置安装这两个 OpenSSH 组件。
- 打开“设置”,选择“应用” >“应用和功能”
- 然后选择“可选功能”,扫描列表,查看是否已安装 OpenSSH。
如果未安装,请在页面顶部选择“添加功能”,然后:
查找“OpenSSH 客户端”,再单击“安装”
查找“OpenSSH 服务器”,再单击“安装”
设置完成后,回到“应用”>“应用和功能”和“可选功能”,你应会看到已列出 OpenSSH
这种安装方法其实和ps脚本在线安装差不多,但这种安装貌似不支持同时安装sftp这种工具,并且安装可能还会失败(可能是受到网络限制)。
ps脚本在线安装
这个安装方式就很简单了,不过要使用这种安装方式必须检查电脑上是否支持Get-WindowsCapability
这种powershell命令,一般Windows10机器都是支持的,问题不大,笔者是Win11必然没问题,就挺酷hhh
微软官方参考
打开Powershell,或者再CMD
中执行一下下powershell
,使终端中激活Powershell环境。
Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH*'
如果你客户端和服务端都没有安装,则会出现
Name : OpenSSH.Client~~~~0.0.1.0
State : NotPresent
Name : OpenSSH.Server~~~~0.0.1.0
State : NotPresent
然后,根据需要安装服务器或客户端组件:
# Install the OpenSSH Client
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
# Install the OpenSSH Server
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
安装过程中会出现如下图的进度条,反正……慢的很
无论Client还是Server安装好后都会出现,这样就算安装好了。
Path :
Online : True
RestartNeeded : False
ps脚本离线安装
这个安装就需要先去github下载release的制品,点击右侧release
选择符合你版本的zip文件,我选择的是OpenSSH-Win64.zip
下载好后放到你期望的目录下解压,并进入Terminal
。
在终端执行install-sshd.ps1
,执行安装脚本,此处执行一定要是管理员身份!!
打开install-sshd.ps1
脚本我们就可以看到,其实是主要是将目录中的一些exe文件注册到了服务列表中,并将其添加到了机器变量中。
New-Service -Name sshd -DisplayName "OpenSSH SSH Server" -BinaryPathName "$sshdpath" -Description $sshdDesc -StartupType Manual | Out-Null
最后我们看到如下就算安装成功了
sshd and ssh-agent services successfully installed
如果需要在防火墙中添加入栈规则,执行如下命令,这样别人访问你机器的22端口就不会被拦截了
New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22
其他二进制安装包安装
二进制安装就是指安装包一键安装,也是在GitHub下载,下载msi后缀的就可以了,根据自己电脑的cpu指令集架构下载就行。