admin管理员组

文章数量:1558103

请注意:计算机容易被Hack!
请注意:计算机容易被Hack!
请注意:计算机容易被Hack!

NPS内网穿透实现外网Windows远程桌面登录原理如下图所示:

购买服务器

博主选择腾讯云每日秒杀活动,购买配置:1核2G 1M,50G 高性能云硬盘,99元/年,系统选择 Ubuntu18.04 LTS

安装服务

在刚才购买的服务器中下载内网穿透的服务端NPS:

wget https://github/ehang-io/nps/releases/download/v0.26.9/linux_amd64_server.tar.gz

下载完成之后解压,进入nps文件夹。在./conf/nps.conf文件中对nps服务器进行配置web和密码,方面后面在网页端进行操作。

tar -zxvf linux_amd64_server.tar.gz
cd linux_amd64_server
vim ./conf/nps.conf

<< COMMENT
# 从浏览器登录操作设置
# http端口(若冲突,需要修改)
http_proxy_port=80
# https端口(若冲突,需要修改)
https_proxy_port=443
# 具体域名或ip
web_host=host/ip
# 用户名
web_username=admin
# 密码
web_password=123
# 端口号
web_port=8080
COMMENT

chmod +x ./nps     #可执行
sudo ./nps install #安装nps服务
sudo nps start     #开启服务

若需要使用域名登录,可以配置nginx:

# nps server configuration
#
server {
        # SSL configuration
        server_name nps.xxx;
        listen 443 ssl;
        listen [::]:443 ssl;

        # ssl证书地址
        ssl_certificate      /www/nps/cert/nps.xxx_bundle.pem;  # pem文件的路径
        ssl_certificate_key  /www/nps/cert/nps.xxx.key; # key文件的路径

        # ssl验证相关配置
        ssl_session_timeout  5m;    #缓存有效期
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;    #加密算法
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;    #安全链接可选的加密协议
        ssl_prefer_server_ciphers on;   #使用服务器端的首选算法

        location / {
                proxy_set_header Host $http_host;
                proxy_pass http://127.0.0.1:8080; # nps网页端地址
        }
}

server {
        listen 80;
        listen [::]:80;
        server_name  nps.xxx;
        return 301 https://$server_name$request_uri;
}

配置服务

从网页端登录刚才配置的nps服务,网址是在nps.conf配置文件中设置的ip:端口号,进入如下的界面,输入设置的用户名和密码进行登录。

进入网页后在左边选中客户端,点击新增添加一个新的客户端,随意配置,添加后记住新客户端的ID

添加tcp隧道,方法同上:客户端ID填写刚才上面记住的客户端ID,备注随便填写,服务端端口最好具有一定含义,目标 (IP:端口)则填写127.0.0.1:3389

客户端启动服务

在我们需要连接的远程电脑上下载npc客户端win_amd64_client,解压并进入包含npc.exe的文件夹,点击刚才新增的客户端左侧的加号可以看到客户端命令,在cmd中运行命令。例如:

npc.exe -server=127.0.0.1:8024 -vkey=cbyscj5wdxsncacl -type=tcp
  • 顺便说一句对应Linux,运行下面的命令在后台运行nps,查看进程时采用jobs -l
nohup ./npc -server=127.0.0.1:8024 -vkey=cbyscj5wdxsncacl -type=tcp &

远程连接

最后的最后,就是打开远程桌面用公网ip进行登录连接。

参考链接

  • https://github/ehang-io/nps/
  • https://blog.csdn/Adolph_qiang/article/details/112191812
  • https://blog.csdn/qmsn76/article/details/108450193
  • https://yanann/index.php/archives/9/

本文标签: 内网远程桌面npsWindows