NPS内网穿透实现外网Windows远程桌面登录

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

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

20210104181653284

购买服务器

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

安装服务

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

wget https://github.com/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.com;
        listen 443 ssl;
        listen [::]:443 ssl;

        # ssl证书地址
        ssl_certificate      /www/nps/cert/nps.xxx.com_bundle.pem;  # pem文件的路径
        ssl_certificate_key  /www/nps/cert/nps.xxx.com.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.com;
        return 301 https://$server_name$request_uri;
}

配置服务

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

image-20210323125007333

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

image-20210323133937572

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

image-20210323132634972

客户端启动服务

在我们需要连接的远程电脑上下载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.com/ehang-io/nps/
  • https://blog.csdn.net/Adolph_qiang/article/details/112191812
  • https://blog.csdn.net/qmsn76/article/details/108450193
  • https://yanann.cn/index.php/archives/9/
  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值