![cover](/upload/d7b3df2eedebab83a1dba5b4ccb72ea6f58d6dd4073d367201cb011938132f6d.png)
新服务器开荒记录
0.背景
新服务器到了安装好了,但是什么都没有配置好,没法用。需要基本的一些设置。特此记录,方便后续类似形况查看。
前提条件是服务器已经能开机了,知道管理员账号、密码。
1.网络设置
机房的交换机不是DHCP的,需要自己配置ip。这个时候只能去机房登录服务器,有图形界面就最方便了。在图形界面里面进入设置,自定义一下IPV4的设置,排除一下当前机房其他已经占用的ip以及实验室里面占用的ip地址,选一个作为服务器的ip,并且设置网关等(可以参考其他服务器)。设置好之后访问一下网页能正常访问基本就是OK了。
这次网络设置不是我搞的,就不细说。
另外一个小技巧,因为蹲在机房设置其实挺麻烦的,能访问外网之后其实可以先装个todesk,回到实验室远程todesk进行后续的操作。搞好了为了安全起见也可以再关掉todesk。
2.新建用户
一般来说我们实验服务器多人用,最好还是每个人自己一个账号了,管理员账号就不用来使用了。所以需要创建自己的账号。
登录管理员账号后,执行下面命令创建用户,其中lxb
就是要创建的用户名,按需修改,我创建的就是lxb。
sudo adduser lxb
然后需要输入密码,确认完密码之后还要输入一些信息,不想输直接回车就行。通过adduser
创建用户,会在/home
目录下创建对应的用户目录。通常我们服务器home目录都没有单独挂载到其他地方,所以一般不太够用。我通常会把用户目录指定到别的地方,或者直接复制到其他地方再加个软连接。这一个还是很有必要的,不然所有人的东西都放用户目录,用户目录又在根目录下面,没多久空间就不够了。
但是目前这个新服务器根目录空间还是够的,并且还没有挂在其他硬盘,如下所示。等让老师加了新硬盘之后再处理这些空间的问题把,就没再处理用户目录。
lxb@mirukj:~$ df -h
文件系统 大小 已用 可用 已用% 挂载点
tmpfs 26G 4.0M 26G 1% /run
/dev/nvme0n1p2 937G 24G 866G 3% /
tmpfs 126G 8.0K 126G 1% /dev/shm
tmpfs 5.0M 24K 5.0M 1% /run/lock
efivarfs 512K 88K 420K 18% /sys/firmware/efi/efivars
/dev/nvme0n1p1 1.1G 6.2M 1.1G 1% /boot/efi
tmpfs 26G 168K 26G 1% /run/user/1001
然后就是添加sudo权限,我们服务器都自己人用,就不那么严格了,就是每个人都搞个sudo权限。如果是更大型的场景可能就需要严格管理这个权限了。
还是管理员账号下(或者有sudo权限的账号也行),执行下面的命令(lxb
为需要给权限的用户名):
sudo usermod -aG sudo lxb
输入密码确认之后就好了,可以su lxb
切换过去进行一些操作验证一下。
然后就是设置一下 公钥,方便后续直接用密钥登录(一般来说也会设置成只能用密钥登录)。我一般习惯自己本地保留密钥,然后公钥放到不同需要登录的服务器上,这样就是用这一份密钥就可以登录所有服务器了。当然也可以每一个服务器都搞一份公钥密钥,但是我觉得太麻烦。
参考博客,在我已经有公钥密钥的情况下,我只需要在服务器用户目录下创建对应的文件,即创建~/.ssh/authorized_keys
,然后将公钥粘贴到里面。再如下这样修改一下权限即可。
chmod 600 authorized_keys
chmod 700 ~/.ssh
插一条,使用密钥登录,切记用户目录的权限不要给太多,不然无法使用密钥。之前使用AutoDL服务器就踩过这个坑。
如果需要重新创建一对密钥公钥,就按照前面的博客里面的内容操作即可,密钥传到本地保存之后,记得删除服务器中的密钥,不然密钥也就失去意义了。
3.SSH服务
为了能够远程SSH登录连接,还需要安装并设置一下ssh服务。主要参考:博客1、博客2。
3.1安装SSH
# 不需要粘贴注释
sudo apt update # 更新软件包列表
sudo apt install openssh-server # 安装ssh服务
sudo systemctl start ssh # 开启服务
sudo systemctl status ssh # 查看服务状态,看到输出active (running)就是正常运行了
一般来说到此就可以通过内网ssh登录了,但是最好还是进行进一步的一些设置,比如密钥的一些设置。
3.2进一步设置
主要是设置仅允许密钥登录,增加安全性。需要特别注意,进行这个设置之前请确保前面的密钥已经设置正确,能通过密钥登录。不然搞完只能用密钥,但是密钥又登不上就尴尬了。当然如果todesk还能用问题就不大,实在不行就下去机房设置了。
如下打开sshd_config
进行编辑(注意不是ssh_config
,注意区别。vim的使用这里就不阐述了,不会的话自行搜索)。
sudo vim /etc/ssh/sshd_config
在配置文件中增加如下内容:
PermitRootLogin yes # 允许root用户登录
PubkeyAuthentication yes # 启用密钥登录
PasswordAuthentication no # 禁用密码登录,更安全
然后也要检查一下配置文件其他地方有没有重复的设置,有的话注释一下。设置完之后保存退出,执行下面命令重启:
sudo systemctl status ssh
如果一切正常的话,此时ssh登录就会发现如果不用密钥就会被拒绝访问,使用密钥才能正常登录。
4.内网穿透
其实是可选项,一般在校内其实不需要内网穿透。但是我经常需要在校外访问,所以我都会开个穿透。可以用netapp、花生壳之类的软件穿透。自己有有公网ip的云服务器的话,也可以自己用frp搞穿透。
这里不再啰嗦,贴上之前写的另一篇博客:在ubuntu上设置开机自启frp。
5.TODO
目前按上述步骤设置完,其实已经是一个能用的状态了,后面还需要进一步设置的地方再慢慢补充,先大致列一个todo。
安装Docker
自动挂在硬盘(装了硬盘之后)
公共目录,用于存放数据集等
必备软件
screen、zip、wget、git、htop
还没想好...