首页 > 租云服务器 > 个人云服务器建设——(1)Ubuntu16.04云服务器初始化管理

个人云服务器建设——(1)Ubuntu16.04云服务器初始化管理

# 介绍
如今,云服务器在网络服务中已经变得非常常见,与传统的机房相比,云服务器具有快速升级、降级硬件配合的优势,可以根据业务开展情况随时对服务器进行调整,既不会浪费性能,也不至于性能不足。对个人来说,拥有一台自己的云服务器,只需要很简单的操作,就可以搭建属于自己的网络服务平台,这在很多方面都是很有益的。
在国内来说,大型网络企业在自己使用大量云服务器的同时,也都纷纷提供云服务器功能,比较著名的有阿里云,腾讯云,亚马逊,微软Azure,以及百度云,京东云,华为云等等。
云服务器的购买方式在上述各家网站上都有详细的描述,而对于学生与创业企业来说,各家云服务器提供商也都有不同程度的优惠。一般而言,最低的云服务器配置对于新手来说性能已经足够了。
云服务器系统配置一般为Windows Server或者Linux发行版,考虑到服务器系统的流行性,对新手最友好的Linux发行版Ubuntu是最佳选择(当然喜欢CentOS的也大有人在)。

SSH登陆

购买云服务器后,运营商都会提供登陆的公网IP地址以及登陆密码。Linux云服务器默认都会打开22端口供SSH登陆。如果操作系统是Windows,需要下载XSHELL或者Putty这样的SSH登陆工具,在Linux下则可以直接通过命令行进行SSH登陆。
当然,Windows系统也可以通过安装Cygwin以运行Linux环境,这对熟悉Linux操作很有帮助,而在Windows10的情况下,也可以安装Ubuntu或者SUSE这样的Linux发行版。

ssh root@(ip地址)

阿里云服务器默认用户是root,腾讯云Ubuntu系统默认用户名是ubuntu,这一点腾讯云做的更好。默认以root登陆实际上会给系统带来很多潜在问题。因此,一般情况下在登陆过后需要创建一个额外的用户用于远程管理

创建用户

通过以下命令创建用户,比如要创建用户名demo

add user demo

按系统提示输入密码即可,输入强密码会提高系统安全性,一般要求包含大小写,数字以及特殊字符且长度不小于8位。

设置root权限

创建用户之后需要给用户设置su即superuser(超级用户)权限,因为很多操作必须要通过su权限进行,而如果反复切换到root用户下则违背了我们提高安全性的初衷。因此,在root角色下为新用户设置sudo权限。

usermode -aG sudo demo

这个命令实际上是把demo用户添加到sudo组中,也因此demo会拥有sudo权限。

添加公钥登陆

在远程服务器管理的时候,最好通过密钥而非密码的方式进行登陆,这样可以最大程度上降低密码被破解的风险。密钥的方式涉及密码学知识,一般来说采用密钥对的时候,系统生成一对密钥,一个为公钥,一个为似钥,公钥可以放在任意地方,公开在网站上也可以,但是私钥必须妥善保管,因为只要拿私钥就可以与公钥配对。我一个简单的理解是,公钥其实相当于锁而私钥相当于钥匙。你可以把锁挂在任何地方,但是钥匙必须自己保管好才能拿来开锁。
要添加密钥登陆,首先要生成一对密钥。(在本地电脑上,绝对不能在远程计算机上生成)

ssh-keygen

这个命令可以生成一对密钥,按照命令提示即可。在生成过程中也可以输入密码再保护密钥,这样更安全。
生成的密钥对一般在/home/demo/.ssh/目录下,如果生成的是rsa密钥,则公钥名称为 id_rsa.pub,私钥为id_rsa。在windows下目录会不一样(其实我也不知道放在哪有用,有一次放在/user/的个人目录下面好像可以了。如果有多个云服务器,也没有必要为每个服务器生成不同的密钥对,有一对基本上就够用了。

上传公钥

上传公钥有两种办法

使用专用命令

使用下面的命令可以一步到位完成上传密钥并添加到远程计算机的.ssh/authorized_keys文件里。

ssh-copy-id demo@(ip地址)

注意。.ssh是隐藏文件夹,在Linux下是通过给文件或者文件夹名前面加.来表示隐藏文件的,可以通过ls -a参数查看

手动完成

手工完成上传公钥的命令可以弄明白ssh-copy-id都干了啥。

cat ~/.ssh/id_rsa.pub

这个命令把公钥输出在终端里,也可以通过编辑器打开文件。把内容复制下来。然后通过终端ssh登陆到远程服务器上(通过demo)

su -demomkdir ~/.sshchmod 700 ~/.sshnano(vim) ~/.ssh/authorized_keys

以上命令依次赋予demo sudo权限,建立.ssh目录并修改权限,新建一个authorized_keys的文件(可以用熟悉的编辑器,nano,vim都可以)。
把之前复制的公钥内容粘贴到这个新文件里并保存。

chmod 600 ~/.ssh/authorized_keys

修改文件权限以提高安全性。

禁用密码登陆

完成密钥设置后,最好禁止通过密码登陆以提高服务器安全性(当然,这要建立在确保密钥能登陆上去的情况下,要不然就恐怕只能重置服务器了,因此自己再也登陆不上去了)

sudo nano /etc/ssh/sshd_config

打开ssh配置文件,找到下列内容并修改为下列值

PasswordAuthentication noPubkeyAuthentication yesChallengeResponseAuthentication no

退出或者重启以下远程服务器,再通过ssh测试一下登陆。

设置防火墙。

可以通过ufw设置系统防火墙。

sudo ufw app list

查看通过或者禁止的程序列表

sudo ufw allow OpenSSH

允许SSH登陆

sudo ufw enablesudo ufw status

启用防火墙并检查状态。
初步的服务器配置工作基本上到这里就完成了。

,可以参考云服务器 CVM的资料,