由于需要购买的服务器安装的是Ubuntu操作系统,所以需要学习一些基本的Linux的操作命令。(当然,可以选择安装Windows服务器,不过不建议使用Windows服务器用于深度学习。本教程只针对Ubuntu操作系统)
提供两个学习资料(本人都学过,这两个教程质量较高)
Linux Tutorial: Linux Tutorial
一款shell游戏:GameShell
还有一些网上找到的感觉会不错的教程(个人未看过)
Linux 命令大全:Linux 命令大全
Linux命令大全(超详细版): Linux命令大全(超详细版)
对于本教程会用到的一些基础命令列举如下,可以一个一个百度了解这些命令:
ls, cd, vi, sudo, cat, systemctl, ufw
终端的复制是ctrl+shift+c, 粘贴是ctrl+shift+v
购买链接:GPU服务器 GN7
选购“GN7”这款服务器。这款服务器是8核CPU,内存32GB,显卡为NVIDIA Tesla T4,一台服务器只有一块显卡,显存为16GB。
注册认证后,可以享用学生优惠,一个月80元。但是续费是原价,即2650每月,所以根据自己需求看购买多久时长。
购买时,可以根据你使用的地方选择地域,离使用地越近网络延迟越低(北京貌似没货了,我购买了上海的,使用延迟并不大)。其他选项默认即可。服务器购买后地域无法修改,操作系统可以重装。
购买成功后,会在“站内信”中收到购买服务器的信息,包括公网IP地址,默认账户名,默认密码等。
点击左上角的“腾讯云”图标,进入主页。
点击控制台
然后点击“云产品”中的“云服务器”
然后选择实例的地区,(我购买的是上海的,选择自己购买的地区即可)
点击后,下方就会出现你购买的服务器实例
在这个控制台可以看到服务器的公网IP和内网IP,记住这个公网IP,后面使用自己电脑ssh连接时会使用。
然后点击登录
输入刚才站内信消息提供的默认密码,然后登录即可。
成功登录后会显示如下终端
登录后,等待几分钟服务器配置完后,点击关机
关机后,点击重置密码
输入新密码(密码需要满足规定的格式),确认后等待几分钟,重新登录,使用新密码登录成功则表明修改成功,如果登录失败可以再等待几分钟或者再次重置密码。
由于服务器处于公网环境,很容易被攻击,所以需要进行一定的设置,提高攻击成本。不过依然不能保证不会被攻下,但能在一定程度上防止简单的攻击手段,例如SSH密码爆破等。
本人水平有限,只能想到如下这几种加护方法,如果有更好的建议,希望可以告诉我,非常感谢(本人邮箱[email protected])
注意:修改完SSH默认端口和用户名后,再次登录的时候记得使用新的端口和用户名。如果出现设置失败导致登录不上,请联系我。
后面需要使用SSH连接服务器,由于服务器是在公网上,默认SSH端口是22,很容易遭到恶意工具,所以需要修改默认SSH端口。
!!!注意!!!:修改SSH默认端口需要使用vi命令,一定要先学习下vi命令的操作,不然很可能会导致误操作使得配置文件被错误修改,导致ssh无法使用。
教程为我的一篇博客:Ubuntu18.04修改ssh默认端口踩坑
由于腾讯云服务器默认创建的用户名都是ubuntu,这一点黑客也知道,所以创建一个不易被猜到的用户,并设置默认的ubuntu用户禁止SSH登录,就能很大程度上防止服务器被爆破。
教程在我的另一篇博客上:Ubuntu18.04 LTS 创建新用户 设置旧用户禁止登录
还有另一篇比较好的文章可以看看:Ubuntu下创建新用户
按照上面的配置,配置完后就可以进行SSH登录了。
!!!注意!!!:教程是假设大家设置的默认SSH端口为8888, 用户名为user123。大家根据自己设置的端口和用户名修改登录的命令。
SSH登录可以有普通输入密码登录和免密登录。对于懒得输入密码的我,更推荐设置免密登录。
教程见我的博客:SSH普通登录和免密登录
下面是我从官网工程师要来的一份防护文件,大家可以参考这份文件的内容进行设置。
针对云上业务运营的安全性,需要腾讯云平台和您共同保障,腾讯云会负责整个云计算环境底层的物理和基础架构安全等,但数据安全(客户在云计算环境中的业务数据自身的安全管理,包括权限与加密等方面)是需要您来负责的。
具体云上安全责任共担模型可参考:https://cloud.tencent.com/developer/article/1340083。
后续防范措施建议如下:
1)服务器设置大写、小写、特殊字符、数字组成的12-16位的复杂密码 ,也可使用密码生成器自动生成复杂密码,这里给您一个链接参考:https://suijimimashengcheng.51240.com/
重置密码:https://cloud.tencent.com/document/product/213/16566
2)删除服务器上设置的不需要的用户
3)对于不需要登录的用户,请将用户的权限设置为禁止登录
4)修改远程登录服务的默认端口号以及禁止超级管理员用户登陆
Windows远程端口修改参考文档:https://cloud.tencent.com/developer/article/1052163
Linux远程端口修改参考文档:https://cloud.tencent.com/developer/article/1124500
5)较为安全的方法:只使用密钥登录禁止密码登陆 (针对Linux系统)
6)腾讯云平台有安全组功能,里面您只需要放行业务协议和端口,不建议放行所有协议所有端口,参考文档: https://cloud.tencent.com/document/product/215/20398
7)不建议向公网开放核心应用服务端口访问,例如mysql、redis等,您可修改为本地访问或禁止外网访问
8)如果您的本地外网IP固定,建议使用安全组或者系统防火墙禁止除了本地外网IP之外所有IP的登录请求
9)主机安全定期检测漏洞、定期检查安全基线,并及时修复:https://cloud.tencent.com/document/product/296/46954
10)主机安全启用暴力破解阻断功能:https://cloud.tencent.com/document/product/296/42730
需注意:做好云服务器系统的安全防护可以有效加强云服务器系统安全, 但也无法保证绝对安全, 建议定期做好云服务器系统的安全巡检及数据备份,以防突发情况导致数据丢失、或业务不可用。
在操作加固的同时,也强烈建议您通过镜像、快照、自动快照等工具备份数据保障您的数据安全:
制作系统镜像您可以参考:
https://cloud.tencent.com/document/product/213/4942
数据快照操作您可以参考:
https://cloud.tencent.com/document/product/362/5755
定期快照您可以参考:
https://cloud.tencent.com/document/product/362/8191
如数据最终无法恢复,可将当前环境创建快照备份下。然后重装系统。后续如您准备有其它方案解决加密问题。可恢复快照然后恢复数据。
重装系统参考文档:https://cloud.tencent.com/developer/article/1382388
重装会格式化系统盘,请您操作前注意备份数据。
-----------------------------分界线-----------------------------
上面的几章是服务器的配置教程,后面的几章是深度学习环境配置教程
安装,换源,新建环境的教程见我博客:Ubuntu18.04 LTS Miniconda 安装 换源 新建虚拟环境
由于大部分同学使用pytorch框架,所以只提供pytorch-GPU安装教程。(其中安装完miniconda后的操作大家应该都比较熟悉了,可以不用看我的教程了,配置上述内容后,就可以使用vscode或者其他终端远程连接到服务器进行使用了。)
教程在我博客中:Pytorch-GPU安装
关于代码备份,有一个个人觉得挺不错的方法:使用git进行版本控制,定期push到GitHub或者gitee。这样即使服务器突然无法连接了也可以在GitHub中找到备份。除此之外,wandb是一个挺不错的软件,可以云端保存实验结果,方便实时查看最新实验进度。
本人才疏学浅,本教程难免会有错误和不足,还望见谅。欢迎指出本教程的错误和改进的地方,非常感谢~
如果在使用本教程配置中遇到任何问题都可以私信我或者邮箱联系我([email protected])