外网如何连接校园网GPU服务器以及文件传输

因为疫情在家,无法直接使用学校实验室的GPU服务器,模型没法训练,很耽误事情,所以搞了这件事情,已经一个月了,现在总结一下。

背景

校园的内网的特点是只允许内网机器访问外网机器,不允许外网机器访问内网机器,所以没法实现家里的电脑直接连接学校服务器。

这就需要一台具有公网IP的机器作为桥梁,通过服务器反向ssh连接桥梁机器,然后家里的电脑ssh连接桥梁机器就可以对服务器进行操作。

桥梁机器可以在阿里云上租用,一般使用最便宜的轻量应用服务器就行,价格才每月9.5元。假设租用的中间服务器公网IP是abc.de.fgh.ijk。一定要记得自己设置的密码。

配置流程

在服务器上操作:(这个我是找疫情期间继续在学校的导师帮忙的。。)

  1. 设置服务器免密码登录中间服务器
ssh-keygen -t rsa

一路按回车,最后生成的id_rsa.pub文件在~/.ssh/文件里面

  1. 将生成的文件推送到中间服务器
ssh-copy-id -i ~/.ssh/id_rsa.pub root@abc.de.fgh.ijk -p 22

注:root为租的中间服务器的用户名,公网IP为abc.de.fgh.ijk

  1. 下载安装autossh
apt-get install autossh
  1. 测试autossh和免密登录是否成功
autossh -M 9991 -NfR 8990:localhost:22 root@abc.de.fgh.ijk

然后,登录中间服务器,进行验证。
在中间服务器上操作:

watch -n 1 netstat -tnlp

如果显示有127.0.0.1:8990这样的端口号,说明成功。
继续在服务器上配置
5. 创建autossh.service

gedit /lib/systemd/system/autossh.service
  1. 将以下内容加到刚刚创建的文件中。
[Unit]
Description=Auto SSH Tunnel
After=network-online.target
[Service]
User=user(用户名)
Type=simple
ExecStart=/usr/bin/autossh -NR 9888:localhost:22 -i /home/user/.ssh/id_rsa 
root@abc.de.fgh.ijk -p 22 >> /dev/null 2>&1
ExecReload=/bin/kill -HUP $MAINPID
ExecStop=/bin/kill -TERM $MAINPID
KillMode=process
Restart=no
[Install]
WantedBy=multi-user.target
WantedBy=graphical.target
systemctl enable autossh
systemctl start autossh
systemctl status autossh

这一步之后,在中间服务器上进行验证。

watch -n 1 netstat -tnlp

如果显示有127.0.0.1:9888这样的端口,则说明成功。
配置完毕。

使用

  1. 登录中间服务器:
ssh abc.de.fgh.ijk

输入自己设置的密码。

  1. 登录远程GPU服务器
    先按1登录中间服务器,然后
ssh -p 9888 user@127.0.0.1

传输文件

传输文件比较麻烦,也需要经过中间服务器。

  1. 本地和中间服务器的文件传输(默认本地的操作系统为windows):
    安装winscp(下载地址
    winscp登录界面登录后左边栏为本地,右边栏为中间服务器,通过左右拖拽文件来实现传输。
    在这里插入图片描述2. 中间服务器–>远程服务器
    传输文件夹:
scp -P 9888 -r document user@127.0.0.1:document_path

注:document:中间服务器的文件夹;document_path:实验室GPU服务器目标路径,如:study/
传输文件:

scp -P 9888 file user@127.0.0.1:file_path

注:file:中间服务器的文件,如:1.py;file_path:实验室GPU服务器目标路径,如:study/
2. 远程服务器–>中间服务器
传输文件夹:

scp -r document root@abc.de.fgh.ijk:/root/

传输文件:

scp file root@abc.de.fgh.ijk:/root/

大功告成,在家里也有了四块2080Ti!
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值