背景
公司给了台linux开发机,但是只能通过某个windows机器才能连上去 每次都需要先远程windows再远程linux机器
解决方法
通过frp做流量转发 前提条件是需要有一台公网服务器(比如在阿里云买一台) 通过这个公网服务器做流量转发即可
具体操作流程
一、公网服务器
- 安装frps
- 配置 frps.toml
toml
bindAddr = "0.0.0.0"
bindPort = 7000
vhostHTTPPort = 7001
subDomainHost = "frp.wanna.com" # 也可以是ip
auth.method = "token"
auth.token = "fs123456"
- 运行
frps -c frps.toml
二、通过windows远程到内网linux服务器
- 安装frpc
- 配置 frpc.toml
toml
serverAddr = "frp.wanna.com" # 上一步在frps里面配置的地址或者ip
serverPort = 7000
[auth]
token = "fs123456"
[[proxies]]
name = "secret_ssh"
type = "stcp"
# 只有与此处设置的 secretKey 一致的用户才能访问此服务
secretKey = "abcdefg"
localIP = "127.0.0.1"
localPort = 22
- 运行
frpc -c frpc.toml
三、自己正在使用的电脑(我以mac为列)
- 安装frpc
- 配置 frpc.toml
toml
serverAddr = "frp.wanna.com" # 上一步在frps里面配置的地址或者ip
serverPort = 7000
[auth]
token = "fs123456"
[[visitors]]
name = "secret_ssh_visitor"
type = "stcp"
# 要访问的 stcp 代理的名字
serverName = "secret_ssh"
secretKey = "abcdefg"
# 绑定本地端口以访问 SSH 服务
bindAddr = "127.0.0.1"
bindPort = 6000
- 运行
frpc -c frpc.toml
使用
ssh -o Port=6000 user@127.0.0.1 user 替换为内网linux服务器的用户名 以后就可以直接使用自己的mac连接内网的linux服务器了~

注意事项
如果linux服务器不允许使用账号密码登录,则需要把mac的~/.ssh/id_rsa.pub 拷贝到内网linux服务器的~/.ssh/authorized_keys文件中