java多线程    Java入门    vsftp    ftp    linux配置    centos    FRP教程    HBase    Html5缓存    webp    zabbix    分布式    neo4j图数据库    

frp安装教程 穿透SSH

  1. frp 消耗服务器流量测试 (2019 年 9 月 2 日)
  2. frp 对客户端简单的文件访问 (2019 年 8 月 24 日)
  3. frp 多台客户端通过一台服务器连接穿透 (2019 年 8 月 23 日)
  4. frp点对点udp方式内网穿透ssh,不走服务器流量 (2019 年 5 月 30 日)
  5. frp ssh 安全连接和服务器安全设置 (2019 年 5 月 29 日)
  6. frp 控制台监控dashboard配置 (2019 年 5 月 27 日)
  7. frp内网穿透 公网访问本地web服务http和https (2019 年 5 月 26 日)
  8. frp安装教程 穿透SSH (2019 年 5 月 25 日)
  9. frp内网穿透教程 (2019 年 5 月 25 日)

frp安装包选择

frp 的安装包地址
https://github.com/fatedier/frp/releases
看到很多包

386 amd64 啥意思,差了下,简单区分下386就是32位系统 amd64 就是64位系统。
好了,下载个frp_0.27.0_linux_amd64.tar.gz

执行下,解压缩,改成frpc 目录 cd 进去下
./frpc

-bash: ./frpc: cannot execute binary file
大量资料说明,出来这个玩意是版本错了。

frp是go语言写的,安装下go
https://dl.google.com/go/go1.11.darwin-amd64.pkg

安装完毕,执行go -version

go version
 go1.11 darwin/amd64

瞬间明白了,要下载第一个,那个什么linux_amd64.tar.gz 似乎都是对着go的版本对应的。所以先看你电脑的go语言的版本才好决定下载哪个, 重新下载我电脑对应的darwin/amd64版本

./frpc
2019/05/22 10:03:26 [W] [service.go:82] login to server failed: dial tcp 127.0.0.1:7000: connect: connection refused
dial tcp 127.0.0.1:7000: connect: connection refused

这反应才是正确了版本,但是配置不对的反应。

frp基本配置,启动

带着配置启动

服务端启动测试

./frps -c ./frps.ini 
2019/05/22 10:06:33 [I] [service.go:139] frps tcp listen on 0.0.0.0:7000
2019/05/22 10:06:33 [I] [root.go:204] Start frps success

默认的配置是好的,不用改。

[common]
bind_port = 7000

frps 表示frp server
frpc 表示frp client

客户端启动测试
frpc.ini
默认指向本地,直接测试好了。自己玩自己

[common]
server_addr = 127.0.0.1 #服务器IP
server_port = 7000 #服务器开出来的端口,等着客户端来连接

[ssh] # ssh 超级转发
type = tcp #类型tcp udp 
local_ip = 127.0.0.1 #本地IP
local_port = 22 #本地端口
remote_port = 6000 #本地转发端口
./frpc -c ./frpc.ini

2019/05/22 10:13:53 [I] [service.go:221] login to server success, get run id [b1247b7334ecc4a0], server udp port [0]
2019/05/22 10:13:53 [I] [proxy_manager.go:137] [b1247b7334ecc4a0] proxy added: [ssh]
2019/05/22 10:13:53 [I] [control.go:144] [ssh] start proxy success

本地成功建立了一个server和一个client 如图

客户端也启动了,测试下

 ssh -oPort=6000 xx@127.0.0.1 -v

xx 表示客户端机器的账户名字 @127.0.0.1 表示服务端的IP

OpenSSH_7.8p1, LibreSSL 2.6.2
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 48: Applying options for *
debug1: Connecting to 127.0.0.1 [127.0.0.1] port 6000.
debug1: Connection established.
debug1: identity file /Users/ge/.ssh/id_rsa type -1
debug1: identity file /Users/ge/.ssh/id_rsa-cert type -1
debug1: identity file /Users/ge/.ssh/id_dsa type -1
debug1: identity file /Users/ge/.ssh/id_dsa-cert type -1
debug1: identity file /Users/ge/.ssh/id_ecdsa type -1
debug1: identity file /Users/ge/.ssh/id_ecdsa-cert type -1
debug1: identity file /Users/ge/.ssh/id_ed25519 type -1
debug1: identity file /Users/ge/.ssh/id_ed25519-cert type -1
debug1: identity file /Users/ge/.ssh/id_xmss type -1
debug1: identity file /Users/ge/.ssh/id_xmss-cert type -1
debug1: Local version string SSH-2.0-OpenSSH_7.8
ssh_exchange_identification: Connection closed by remote host

出现这个是因为我的本地mac电脑没有开启ssh共享服务

点击电脑设置 - 共享 - 开启远程控制 就好了。

 ssh -oPort=6000 xx@127.0.0.1 -v

自己本地的服务端和客户端都好了。

现在要把服务端丢到服务器了。才能实现家里电脑访问公司的电脑

服务器中转,真正的外网穿透

服务器(CENTOS)上

yum install go
go version
go1.11.5 linux/amd64
 

下载文件对应go语言返回的版本 linux_amd64

一般云服务器都有端口控制,如果您启动了iptables防火墙,也要打开,或者关闭防火墙。
启动,打开阿里云的防火墙端口

./frps -c frps.ini 

成功了。
服务器frps.ini 采用默认配置即可

本地的机器修改frpc.ini的ip

[common]
server_addr = 42.20.2.111 #服务器IP
server_port = 7000 #服务器开出来的端口,等着客户端来连接

[ssh] # ssh 超级转发
type = tcp #类型tcp udp 
local_ip = 127.0.0.1 #本地IP
local_port = 22 #本地端口
remote_port = 6000 #本地转发端口

重启动本地

自己的电脑

ssh -oPort=6000 xx@42.20.2.11 

重点的事情再说一遍 前面的账户xx是本地客户端的用户名,后面的IP42.20.2.11是服务器的IP

随便找一台其他电脑,这么访问也可以登录,这样就实现了外网穿透ssh


This entry was posted in Linux, MAC, 科技精品 and tagged , . Bookmark the permalink.
月小升QQ 2651044202, 技术交流QQ群 178491360
首发地址:月小升博客https://java-er.com/blog/frp-install/
无特殊说明,文章均为月小升原创,欢迎转载,转载请注明本文地址,谢谢
您的评论是我写作的动力.

Leave a Reply