基于frp通过ssh访问公司(学校)内网机器【Ubuntu系统】

【UpdateTime:20170717】

一、本文目的

本人最近想尝试使用ssh远程链接家里的电脑。事情是这样的:本人最近想学习和专研【深度学习】,但是实验室的电脑显卡性能不够用,都是2GB的显存(GTX 960M)。跑一个MNIST代码就因为显存不够而报错,当然可以通过设置batch_size的大小解决这一问题。但是后面肯定会遇到更大的数据集(cifar100,ImageNet等等),需要更大的显存。另一方面就是显卡性能也不够,别的实验室都有几块GTX 1080Ti的集群显卡,或者是TITAN Xp等,他们跑代码的速度,那叫一个快。基于此,本人是想在家里买一台配有 TITAN Xp 显卡的机器,然后通过ssh远程操作跑实验(虽然还有 TeamViewer 这么好用的工具存在,但是ssh会比 TeamViewer 更稳定些,或者说2种方式都存在的话更保险一些)。要通过ssh链接不属于同一个内网的机器,需要一个外网IP来解决这个问题。同学介绍了一个工具,frp,可以解决这问题,下文将介绍基于frp通过ssh链接内网机器。


参考网址:

1. frp 使用文档:https://github.com/fatedier/frp/blob/master/doc/quick_start_zh.md

2. github - frp:https://github.com/fatedier/frp/blob/master/README.md(有中文版)



二、相关说明&&介绍

1. frp frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp, http, https 协议。frp的作用如下:

1)利用处于内网或防火墙后的机器,对外网环境提供 http 或 https 服务。

2)对于 http, https 服务支持基于域名的虚拟主机,支持自定义域名绑定,使多个域名可以共用一个80端口。

3)利用处于内网或防火墙后的机器,对外网环境提供 tcp 和 udp 服务,例如在家里通过 ssh 访问处于公司内网环境内的主机。

### 配置FRP实现内网穿透并SSH连接 #### 安装依赖环境 为了确保能够顺利部署FRP,在Ubuntu 24上需先更新软件包列表以及安装必要的工具。 ```bash sudo apt update && sudo apt upgrade -y ``` #### 下载与解压FRP文件 前往官方GitHub页面下载适用于Linux系统的最新版本FRP压缩包,并将其放置于`/opt`目录下以便管理和维护。 ```bash cd /tmp/ wget https://github.com/fatedier/frp/releases/download/v0.47.0/frp_0.47.0_linux_amd64.tar.gz tar zxvf frp*.gz -C /opt/ mv /opt/frp_*/ /opt/frp ``` #### 编辑客户端配置文件 创建或编辑位于`/opt/frp/client.ini`中的客户端配置文件,设置如下参数来匹配个人网络状况: ```ini [common] server_addr = x.x.x.x ; 外网VPS IP地址 server_port = 7000 ; VPS端口监听位置 [ssh] type = tcp ; 协议类型 local_ip = 127.0.0.1 ; 内网机器本机IP local_port = 22 ; 被转发的服务端口号(这里是SSH默认端口) remote_port = 6000 ; 对应外部可访问的映射端口 ``` #### 启动FRPC服务 利用systemctl命令注册FRPC作为后台守护进程运行,从而保证即使重启系统也能自动启动此服务。 ```bash cat <<EOF | sudo tee /etc/systemd/system/frpc.service [Unit] Description=FRP Client Service After=network.target nss-lookup.target [Service] Type=simple User=nobody Restart=on-failure ExecStart=/opt/frp/frpc -c /opt/frp/client.ini [Install] WantedBy=multi-user.target EOF sudo systemctl daemon-reload sudo systemctl enable --now frpc ``` #### 测试连接 在外网环境中尝试使用新的端口(如上述例子中的6000)代替原有的22号端口来进行SSH登录操作验证是否成功建立隧道[^1]。 ```bash ssh username@public_vps_ip -p 6000 ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值