Win10开启SSH连接

下载并安装OpenSSH

首先下载OpenSSH,地址: https://github.com/PowerShell/Win32-OpenSSH/releases ,注意要下载对应的位数

下载成功后,保存到一个目录,我是保存在C盘根目录,然后重命名为OpenSSH

进入OpenSSH文件夹,用Windows Powershell ISE打开目录下的install-sshd.ps1文件,修改以下内容

1
2
3
4
5
6
7
8
# 将
Stop-Service sshd
# 修改为
net stop sshd
# 将
Stop-Service ssh-agent
# 修改为
net stop ssh-agent

修改完成后,以管理员身份在目录下打开cmd,运行以下命令

1
2
3
powershell.exe -ExecutionPolicy Bypass -File install-sshd.ps1
netsh advfirewall firewall add rule name=sshd dir=in action=allow protocol=TCP localport=22
net start sshd

这时sshd服务就安装成功并开启了

这时打开Xshell,连接127.0.0.1:22,连上去发现连上的并不是Windows的cmd,而是连上了WSL,这是因为WSL和sshd同时监听的都是127.0.0.1,而连接本机IP地址的22端口就可以连上cmd,本机IP地址可能会改变,所以需要修改sshd监听的端口号

这时需要修改sshd的配置文件,这个是最大的坑,sshd的配置文件不是OpenSSH目录下的sshd_config,而是C:\ProgramData\ssh目录下的sshd_config,用记事本或者其他工具打开文件,修改端口号,注意一定要把前面的 # 删掉

修改后保存,用管理员身份打开cmd,运行以下命令重启sshd服务

1
2
net stop sshd
net start sshd

现在打开Xshell,连接127.0.0.1:25,已经可以成功连接上cmd了.如果需要sshd服务开机自启,可以在服务找到OpenSSH SSH Server开启