阿里云服务器的基本使用

登录服务器

创建阿里云服务器实例之后,我们就可以登录使用了。我们可以通过密码来登录,也可以使用 SSH 密钥来登录。

使用密码登录

阿里云服务器实例创建之后,没有给我们初始密码。我们需要通过“重置密码”来获取 root 用户密码。

进入阿里云首页 -> 点击右上角的控制台,进入控制台页面 -> 点击左上角的菜单,找到计算-云服务器ECS,进入云服务器列表页 -> 点击你创建的实例,进入实例详情页 -> 点击基本信息中的“重置密码” -> 输入你的新密码 -> 点击“确认修改”

使用root密码登录

ssh root@{你的公网IP地址}
# 如
ssh root@123.123.123.123
  • 公网IP地址:在实例详情页的配置信息中可以找到你的公网IP地址。
The authenticity of host '123.123.123.123 (123.123.123.123)' can't be established.
ED25519 key fingerprint is SHA256:d6zkJAbbi4wYSp4QEO1aNop0vcDvhKIs7aF+2T6IUIw.
This key is not known by any other names.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes

root@123.123.123.123's password: 输入你的密码

使用 SSH 密钥登录

我们可以将自己本地电脑的 SSH 公钥上传到阿里云账号的密钥对中,然后我们就可以通过 SSH 密钥登录远程服务器了。

  • 进入阿里云首页 -> 点击右上角的控制台,进入控制台页面 -> 点击左上角的菜单,找到计算-云服务器ECS,进入云服务器列表页 -> 点击你创建的实例,进入实例详情页。
  • 点击其他信息中的密钥对绑定,进入绑定密钥对页面。
  • 如果你之前已经上传了自己的密钥可以直接选择已有的密钥对,如果没有上传就点击“创建密钥对”,进入密钥对管理页面 -> 点击创建密钥对,1)输入密钥对名称:如,我的笔记本。2)创建类型:导入已有的密钥对。3)输入公钥内容,内容见你的本地电脑的 ~/.ssh/id_rsa.pub 或者 ~/.ssh/id_ed25519.pub。如果你本地没有 SSH 密钥对,那么你需要创建本地的 SSH 密钥对。其他内容可以不填。 -> 点击“确定” -> 创建完成后,回到自己的绑定密钥对页面,选择你刚才创建的密钥对 -> 点击“确定”。
  • 绑定密钥对之后需要重启服务器,点击“立即重启”。

使用 SSH 密钥登录(密钥登录命令和密码登录类似,但不需要输入密码了)

ssh root@{你的公网IP地址}
# 如
ssh root@123.123.123.123
  • 公网IP地址:在实例详情页的配置信息中可以找到你的公网地址。

安全防护

登录安全防护

关闭密码登录

在关闭密码登录之前确保你已经添加了 SSH 密钥,并可以通过 SSH 密钥登录。

1. 修改 etc/ssh/sshd_config 文件

vim etc/ssh/sshd_config

PasswordAuthentication yes 中的 yes 改为 no

2. 改完之后重启 SSH 服务

systemctl restart sshd.service
# or
service sshd restart

修改 SSH 默认端口

1. 修改 etc/ssh/sshd_config 文件

vim etc/ssh/sshd_config

#Port 22 改为 Port 你的自定义端口,如 Port 22000

2. 改完之后重启 SSH 服务

systemctl restart sshd.service
# or
service sshd restart

3. 将自定义的 SSH 端口添加到安全组

服务器实例详情页 -> 安全组 -> 安全组详情页 -> 入方向,手动添加,目的:自定义SSH端口,源:所有IPv4(0.0.0.0/0),描述:自定义SSH -> 点击“保存”。

关掉默认的 SSH 端口 22,修改 22/22 安全组,把“允许”改为“拒绝”。

4. 使用自定义 SSH 端口连接服务器

ssh root@{你的公网ip地址} -p 自定义SSH端口
# 如
ssh root@123.123.123.123 -p 22000

更新系统和软件

更新系统和软件版本

Debian/Ubuntu

$ sudo apt update && apt upgrade -y && apt autoremove && apt autoclean
  • apt-get update: 更新包缓存(可以知道包的哪些版本可以被安装或升级)To download package information from all configured sources.
  • apt-get upgrade: 升级包到最新版本。升级所有可用的软件包,包括内核和其他软件包。To install available upgrades of all packages currently installed on the system from the sources configured via sources.list(5). New packages will be installed if required to statisfy dependencies, but existing packages will never be removed. If an upgrade for a package requires the remove of an installed package the upgrade for this package isn’t performed.
  • apt autoremove: Remove packages that are not required anymore. To remove packages that were automatically installed to satisfy dependencies for other packages and are now no longer needed as dependencies changed or the package(s) needing them were removed in the meantime.
  • apt autoclean: removes all stored archives in your cache for packages that can not be downloaded anymore (thus packages that are no longer in the repo or that have a newer version in the repo).

自动安装最新的安全(和其他)更新

Debian/Ubuntu

1. 安装 unattended-upgrades

$ apt-get install unattended-upgrades apt-listchanges

2. 开启安装更新的邮箱通知

$ vim /etc/apt/apt.conf.d/50unattended-upgrades
Unattended-Upgrade::Mail "root";

改为

Unattended-Upgrade::Mail "你的邮箱";

2. 开启自动更新

$ dpkg-reconfigure -plow unattended-upgrades
$ vim /etc/apt/apt.conf.d/20auto-upgrades
APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";

端口管理

每个服务器实例创建后,有一个默认的安全组。这个安全组中开放了 Linux 的 SSH 端口 22 和 windows 远程桌面连接(RDP)的端口 3389。

进入阿里云首页 -> 点击右上角的控制台,进入控制台页面 -> 点击左上角的菜单,找到计算-云服务器ECS,进入云服务器列表页 -> 点击你创建的实例,进入实例详情页 -> 点击安全组,进入安全组列表页 -> 点击默认的第一个安全组,进入安全组详情页 -> 点击“快速添加”或“手动添加”,添加安全组规则。

有两种添加安全组规则的方式:

  1. 快速添加:可以让你快速添加常用的端口,如:HTTP(80),HTTPS (443),MySQL (3306) 和 Redis (6379) 等。
  2. 手动添加:手动配置你的安全组规则。

注意:除了 HTTP(80)和 HTTPS (443) 之外,不建议用默认的端口。默认的端口不安全,容易受到密码暴力破解攻击。

References

[1] UnattendedUpgrades

[2] How to customize unattended-upgrades notification emails?