利用 nps 和 公网ip 实现远程桌面连接内网机器
环境以及使用的工具
公网主机: Alibaba Cloud Linux 3.2104 LTS 64位
内网主机: Windows 11
工具: nps
文档
服务端部署
安装和配置
下载 nps 的 server 端,接着上传到有公网ip的服务器上,解压,这里我下载的是
接下来安装
nps install # 安装
nps start # 启动
然后可以按照自己的要求修改配置
vim /etc/nps/conf/nps.conf
nps restart # 重新启动
创建 TCP 隧道
打开服务端管理面板,新建一个客户端,记录下这里的 唯一验证密钥 后面要用
接着创建一个tcp隧道,客户端选择刚刚创建的客户端,目标填写远程桌面的端口,我这里默认是3389,端口是你想访问公网设备上的端口
服务端基本配置到这里,接下来看客户端
客户端
下载 nps 的 client 端,并解压,这里我下载的是
修改配置 conf/npc.conf,common以外的配置可以先全部注释掉
这里主要修改这几个
server_addr=公网ip:上面配置的端口
vkey=唯一验证密钥
tls_enable=false (可选)
配置完成后启动npc
npc install # 注册到系统服务(开机启动、守护进程) (可选)
npc # 当前终端启动,可看到调试信息 (可选)
npc start # 启动服务
连接
现在在nps管理面板上应该可以看到 客户端状态为在线
打开远程连接,输入信息
现在应该可以连接成功了
用户名密码正确 还是登不上的解决办法 解决办法
在设置-账户-其他设置里面
关闭 “为了提高安全性,在此设备上仅允许使用Windows Hello 登录 Microsoft 账户(推荐)”
然后Win + L 锁屏
在锁屏界面点 登录选项
然后使用 Microsoft 账户密码 登录一次
再用远程连接发现可以用了
提升远程桌面性能
Microsoft Remote Desktop(RDP )优化流程
RDP Microsoft Remote Desktop 优化指南
基于 Windows 的远程会话中的帧速率限制为 30 FPS