Frp内网穿透win系统实录

前言

由于实验室的某些原因,分配了一台win10的服务器(QAQ),但是由于服务器在内网,无法访问。因此采用了内网穿透了一波,和上回内网穿透相比,这回配置win10内网是真的头大,而且还存在几个Bug,有待完善/(ㄒoㄒ)/~~。上回linux下的内网穿透可以参考之前这篇博客
基于Docker的Frp内网穿透部署

先简单说一下配置

  • 客户端:自己笔记本,win10系统
  • 内网服务器:win10系统
  • 外网服务器:ubuntu10.04

公网服务器端配置

首先,需要先租台服务器,这里随便租了台腾讯云的服务器,不是打广告

之后,就需要开始frp配置了,这里有两种配置方式,2选1即可

基于Docker配置

注意

  • 这里没有配置Docker的小伙伴可以食用这篇博客Ubuntu安装docker教程
  • 需要放行相应端口(可以直接图形化界面放行,也可以命令行形式放行,请自行百度)

1.创建文件

# 创建存放目录
sudo mkdir /etc/frp
# 创建frps.ini文件
sudo vi /etc/frp/frps.ini

2.编写frps.ini文件内容

[common]
# 监听端口
bind_port = 7000
# 面板端口
dashboard_port = 7500
# 登录面板账号设置,就是网上说的公网:IP的账号和密码
dashboard_user = admin  #根据所需设置,我在这里设置为服务器的账号密码
dashboard_pwd = XXXXXXX 
# 设置http及https协议下代理端口(非重要)
vhost_http_port = 7080
vhost_https_port = 7081

# 身份验证,可以自己设置,建议设置复杂点。
token = 12345678

3.运行代码

sudo docker run --restart=always --network host -d -v /etc/frp/frps.ini:/etc/frp/frps.ini --name frps snowdreamtech/frps

简单文件配置

1.首先创建一个frp文件夹(没啥实际作用,就是看得整洁)

mkdir frp

2.下载frp文件

下载地址:https://github.com/fatedier/frp/releases

wget https://github.com/fatedier/frp/releases/download/v0.33.0/frp_0.33.0_linux_amd64.tar.gz 
tar -zxvf frp_0.33.0_linux_amd64.tar.gz

也可以自己选择下载版本,右键复制下载地址即可,然后在前面键入wget命令,如上方所示

在这里插入图片描述
3.修改frps.ini文件

cd frp_0.33.0_linux_amd64
vi frps.ini
[common]
# 监听端口
bind_port = 7000
# 面板端口
dashboard_port = 7500
# 登录面板账号设置
dashboard_user = admin  #根据所需设置,我在这里设置为服务器的账号密码
dashboard_pwd = XXXXXXX 
# 设置http及https协议下代理端口(非重要)
vhost_http_port = 7080
vhost_https_port = 7081

# 身份验证,可以自己设置,建议设置复杂点。
token = 12345678

4.启动服务

./frps -c frps.ini

貌似也可以后台启动或者开机自动启动的命令,有需要的小伙伴可以百度查看。

内网服务器端配置

frpc配置

1.下载frp压缩包

我们需要下载同样版本的frp压缩包

下载网址:https://github.com/fatedier/frp/releases

直接下载在本地就可以

在这里插入图片描述
2.配置frpc.ini文件

[common]
tls_enable = true 
# server_addr为FRPS服务器IP地址
server_addr =X.X.X.X
# server_port为服务端监听端口,bind_port
server_port = 7000
# 身份验证
token = 12345678

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 2288

3.启动服务

启动服务的命令

frpc.exe -c frpc.ini

注意
在后面可能会出现这样的Bug:Create server listener error, listen tcp 0.0.0.0:7000: bind: address already,需要杀死到frp的进程

netstat -tanlp

找到端口所占进程的pid,杀死掉

kill -9 PID

参考资料:Create server listener error, listen tcp 0.0.0.0:7000: bind: address already

安装OpenSSH服务

OpenSSH原理补充

想直接安装的小伙伴可以跳过图示部分,直接进行安装。

具体免密SSH连接的原理就如下图所画内容所示。

-**

OpenSSH原理补充(结束)

配置完成以上内容后,以为可以直接连接服务器,但是出现了Connnection failed的错误,后来百度一波发现WIN系统需要配置OpenSSH.
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
完成OpenSSH的添加。
之后就要进一步设置

计算机右键->管理->服务->OPENSSH SERVER&&OPENSSH Authentication

改图引用资料:https://www.cnblogs.com/kxqblog/p/16080477.html

在这里插入图片描述

配置连接

先在本地(客户端)生成公钥,当然,本地也是需要安装openssh的,在cmd下执行下面的命令。

注意:本地(客户端)指的是我的笔记本电脑

ssh-keygen -t rsa

一路回车即可

接着,在笔记本电脑中C:\Users\Administrator\.ssh进入到C盘,可以看到以下文件

在这里插入图片描述
到服务端C:\Users\Administrator\.ssh创建authorized_keys(没有后缀)文件。然后将密钥的文件内容复制到authorized_keys中。

在这里插入图片描述
紧接着,到服务器的C:\ProgramData\ssh,打开sshd_config文件进行修改。

找到 #StrictModes yes 改成 StrictModes no

确保以下3条没有被注释
PubkeyAuthentication yes
AuthorizedKeysFile	.ssh/authorized_keys
PasswordAuthentication yes #表示开启密码登录

这里注意,如果用私钥登录则注释掉前一句的PasswordAuthentication yes

确保以下2条有注释掉
#Match Group administrators
#       AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys

#设置访问盘符
ChrootDirectory C:\

之后就重启服务

net stop sshd
net start sshd

再次运行即可

frpc.exe -c frpc.ini

XShell和Xftp连接

最为简单的连接是cmd黑窗口的形式进行连接,但是这样就不能同时管理多个服务器。同时由于首次接触到免密的登入,还是有点懵,因此简单记录一下。

  • 先记录一下SSH连接
ssh -p 2288 公网IP # -o StrictHostKeyChecking=no(可加可不加,当时是出现了一个bug加的这个选项 )
  • XShell连接
    1.新建会话
    在这里插入图片描述
    在这里插入图片描述
    浏览-》用户密钥
    在这里插入图片描述
    选择导入,到本地的C:\Users\Administrator\.ssh的公钥导入即可连接

  • Xftp
    Xftp的连接方式和XShell的使用方式相同,因此不再记录。

最后的最后,存在的Bug.代填坑

  • Xftp貌似只能访问ChrootDirectory 指定的盘符(因此我将盘符设置为C盘,话说之前配置linux系统都没出现这种问题QAQ)

由于本人是前几天配置的服务,隔天写的文章,全靠回忆,如果错误的地方也有待改进QWQ

推荐参考资料:
✳✳✳https://www.cnblogs.com/kxqblog/p/16080477.html

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值