操作目的:
使无公网ip的主机能被外网访问,实现ssh对服务器的远程管理
硬件准备:
1.服务端:skura frp主机(skura frp 免费提供,有待创建)
2.客户端:接在无线路由器(内网)上的ubuntu主机(有待配置),这是自己的电脑主机
先讲下内网穿透吧,为什么要用他。如下图
内网穿透原理:
简单说下,内网相当于是监狱,里面的囚犯(主机)之间可以相互玩耍,但是外面的人看不到你(访问不到你),所以就需要靠关系买下看守,这样你的亲朋好友就能有机会探监了,很明显这里的看守的作用就是端口映射的作用(他把探望你的人引领到你的cell门口),好了能理解就好。
具体步骤:
1.打开网页natfrp.com,进去注册一个账号,然后登录你会进入这个页面,点击创建隧道
*创建步骤:
**服务器随便选
**隧道名称任意,隧道类型TCP(我为了ssh到我的内网服务器所以用这个类型,具体右边栏有介绍,具体情况具体选择),本地地址(Ubuntu下用命令ifconfig,找到inet栏的ip即为本地地址,Windows在cmd下用ipconfig获取,也可以用下图方式获得)
先打开网络适配器,找到自己的用来上网的适配器,双击,点击详细信息,里面的ipv4地址即为本地地址
**本地端口,我要用ssh就是22,你要用http网页服务就是80
**远程端口就是服务器的端口,随机吧,因为你不知道别人用了哪些端口,最底下最左边点下随机端口
**域名不是做web服务的不用填,最后点击完成创建就好了
2.软件下载及配置(上面其实是在配置服务端,下面开始配置我们自己的电脑)
①先在默认的用户路径下先新建一个目录专门存放这个软件及他的配置文件,mkdir就是make directory ,skura是我取得文件名,你们可以随便改
1 mkdir skura
②进到skura目录下
1 cd skura
③下载frp客户端到skura目录下,这里我的系统是Ubuntu64位的所以下的是Linux_amd64版本,不同版本先到管理网页的软件下载看下,再把这里wget后面换成你要下载的软件链接就好
1 sudo wget https://qianqu.me/frp/frpc_linux_amd64
④给软件执行权限,chmod就是change mode,改变文件属性用的,+x是添加执行权限,后面是我们的运行软件
1 chmod +x frpc_linux_amd64
注意不同版本软件名也不一样,这里得视情况改你可以输入ll 就可以看到skura目录下运行软件的名字了,看下图
绿色的就是可执行文件,我圈出来的左边的x就是上面命令chmod +x改的
⑤创建一个客户端配置文件frpc.ini
1 sudo touch frpc.ini
⑥编辑文件内容,进去后键入i,你能看到底下返回insert字样说明进入了插入编辑模式,然后配置内容在哪呢
1 sudo vi frpc.ini
⑦回到管理管理网页,点击配置文件,如下图
选中你之前创建隧道用到的服务器,然后配置内容就已经有了,直接把他复制到我们刚创的frpc.ini文件
⑧按esc键,再按shift+;输入wq,保存并提出
⑨最后输入./frpc_linux_amd64运行服务
1 ./frpc_linux_amd64
如果看到以下界面就算成功了
3.Windows主机下远程连接我们刚配置好的Ubuntu主机
打开cmd,输入
1 ssh -p 远程端口 用户名@45.253.67.78
这里远程端口就是之前创建隧道的远程端口,用户名是你的Ubuntu登录的用户名,不知道的填root , 后面是服务器的地址,我用的是徐州多线,配置文件里server_addr那栏就是,结果会返回一个选项,连接的主机没有设置密钥你是否继续链接,键入yes就行了,如下图
整个过程如上,哪里不对或有疑问欢迎提出