1.局域网内通过ssh访问windows
windows开启ssh服务
在开始菜单中搜索
可选功能,进入设置-应用-可选功能。在已安装功能中搜索open,查看是否已安装了OpenSSH客户端和OpenSSH服务器,若缺少则在添加可选功能里找到并安装。命令行输入
ssh -V,查看是否安装成功1
2
3ssh -V
OpenSSH_for_Windows_8.1p1, LibreSSL 3.0.2在开始菜单中搜索
计算机管理,进入服务和应用程序-服务,找到OpenSSH Authentication Agent和OpenSSH SSH Server,将启动类型修改为自动。在
PowerShell中输入Get-Service -Name *ssh*,查看到ssh-agent和sshd的状态为Running,说明服务启动成功。1
2
3
4
5
6Get-Service -Name *ssh*
Status Name DisplayName
------ ---- -----------
Running ssh-agent OpenSSH Authentication Agent
Running sshd OpenSSH SSH Server查看服务是否在监听
22端口。netstat -an | findstr :221
2
3
4
5netstat -an | findstr :22
TCP 0.0.0.0:22 0.0.0.0:0 LISTENING
TCP 127.0.0.1:22112 0.0.0.0:0 LISTENING
TCP [::]:22 [::]:0 LISTENING
mac连接windows
在终端中输入ssh <windows的用户名>@<windows的ip地址>
若windows登录了微软账号,则用户名是微软账号名;若账号名中带有@符号,则应该用双引号包裹,以区分命令中的@符号。
1 | ssh fly@192.168.0.104 |
2.frp实现互联网远程访问
使用有公网ip的linux服务器作为服务器端,windows作为客户端
到github下载两端的软件https://github.com/fatedier/frp/releases
2.1 服务端配置
frps.ini文件:使用默认的最小配置就行,无需修改 (默认bind_port为7000)将文件夹重命名为
frps(为了简便),并上传到服务器中添加文件夹中的
frps文件的执行权限chmod +x frps启动服务:
./frps -c ./frps.ini1
2
3
4
5./frps -c ./frps.ini
2022/11/08 21:24:17 [I] [root.go:206] frps uses config file: ./frps.ini
2022/11/08 21:24:17 [I] [service.go:196] frps tcp listen on 0.0.0.0:7000
2022/11/08 21:24:17 [I] [root.go:215] frps started successfully
云主机的话记得到安全组中放行6000、7000端口!
云主机的话记得到安全组中放行6000、7000端口!
云主机的话记得到安全组中放行6000、7000端口!
2.2 客户端配置
frpc.ini文件:修改server_addr的值为服务端的公网ip,其他无需修改。(ssh远程端口为6000)1
2
3
4
5
6
7
8
9[common]
server_addr = 101.34.20.168
server_port = 7000
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000将文件夹
frp_0.45.0_windows_amd64上传到服务器中启动服务:
frpc -c frpc.ini1
2
3
4
5frpc -c frpc.ini
2022/11/08 21:34:21 [I] [service.go:357] [7e77e8f2e05c7e16] login to server success, get run id [7e77e8f2e05c7e16], server udp port [0]
2022/11/08 21:34:21 [I] [proxy_manager.go:142] [7e77e8f2e05c7e16] proxy added: [ssh]
2022/11/08 21:34:21 [I] [control.go:177] [7e77e8f2e05c7e16] [ssh] start proxy success同时此时看到frp服务端的控制台显示客户端连接成功的信息:
1
2
32022/11/08 21:34:20 [I] [service.go:454] [7e77e8f2e05c7e16] client login info: ip [182.138.167.237:30341] version [0.45.0] hostname [] os [windows] arch [amd64]
2022/11/08 21:34:20 [I] [tcp.go:64] [7e77e8f2e05c7e16] [ssh] tcp proxy listen port [6000]
2022/11/08 21:34:20 [I] [control.go:464] [7e77e8f2e05c7e16] new proxy [ssh] type [tcp] success
2.3 mac使用内网穿透连接windwos
输入命令ssh -p 6000 <windows用户名>@<frp服务器的ip>(6000是frp配置中默认的远程ssh端口)
若配置了免密登陆则登陆成功,否则需要再输入一次windows密码
此时看到frp服务端的控制台显示用户ssh连接成功的信息:
1 | 2022/11/08 21:38:55 [I] [proxy.go:179] [7e77e8f2e05c7e16] [ssh] get a user connection [182.138.167.237:30404] |
2.4 配置frp自启动
服务端
进入/lib/systemd/system,添加文件frps.service(注意将ExecStart中的命令的路径修改为自己存放frps的位置):
vim /lib/systemd/system/frps.service:
1 | [Unit] |
,wq保存退出
重新加载系统服务
1 | systemctl daemon-reload |
设置开机启动
1 | systemctl enable frps.service |
开启服务
1 | systemctl start frps.service |
查看服务状态systemctl status frps.service
1 | systemctl status frps.service |
客户端
添加一个脚本文件frpc_autostart.bat(文件名无所谓)
1 | @echo off |
给这个文件创建一个快捷方式
将快捷方式移动到C:\Users\windows用户名\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup目录下(注意自己的电脑是自己的用户名),
这样每次windows启动后这个文件都会随之运行
3.图形化界面访问
使用软件Microsoft Remote Desktop for Mac进行远程桌面连接
国区AppStore没有上架,要用外服账户下载
3.1 windows开启远程桌面访问
进入:控制面板 - 系统和安全 - 系统 - 允许远程访问
勾选允许远程连接到此计算机
3.2 修改frpc.ini
追加rdp相关配置。(配置rdp远程端口为6001,windows远程桌面访问默认端口为3389)
云服务器记得要放开相关端口
1 | [common] |
重启frpc服务。
3.3 运行Microsoft Remote Desktop
打开软件后点击Add PC添加连接,PC name 为frps所在服务器的ip + 配置的rdp远程端口,如101.1.2.3:6001。
确定即可通过互联网进行windows远程桌面连接
tip:在display中勾选Optimize for Retina displays优化显示效果