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

  • 还没想好...