介绍

来自阳光明媚的索诺拉的问候!
今天早上我很高兴地收到Hetzner发来的电子邮件,告诉我我的新AX41-NVMe 服务器已经配置好 Debian 系统,可以投入使用了!
本文将介绍我在新服务器上采取的最初步骤。这些步骤在虚拟专用服务器 (VPS) 和独立服务器上应该相同。除了 Debian 之外,其他操作系统上的步骤也基本相同,只是由于不同的发行版使用不同的软件包管理系统,因此命令会有所不同。
本文假设您的本地计算机上有一个可用的 SSH 客户端,并且您的 SSH 公钥是在服务器由提供商配置时安装在服务器上的。
我们开始吧!
记下基本信息
Hetzner 的电子邮件包含服务器的基本信息,例如 IPv4 和 IPv6 地址、订单号和日期、服务器编号、服务器数据中心位置以及主机密钥指纹。邮件中还包含 Hetzner 提供的软件下载链接以及 Hetzner 指南的链接。此外,邮件中还包含支持地址、办公时间和电话号码。
我喜欢把每台服务器的基本信息复制下来,保存在我笔记本电脑主目录下的一个文件中。
更新操作系统
我在服务器上做的第一件事就是更新操作系统。必须先更新,因为如果先修改了本地配置,然后更新又想修改配置文件,那其他任何操作都可能造成混乱。
root@Debian-1101-bullseye-amd64-base ~ # apt-get update
Get:1 http://deb.debian.org/debian bullseye InRelease [116 kB]
Get:2 http://security.debian.org/debian-security bullseye-security InRelease [44.1 kB]
Get:3 http://deb.debian.org/debian bullseye-updates InRelease [39.4 kB]
Get:4 http://mirror.hetzner.com/debian/packages bullseye InRelease [116 kB]
Get:5 http://security.debian.org/debian-security bullseye-security/main amd64 Packages [154 kB]
[...]
获取:32 http://mirror.hetzner.com/debian/security bullseye-security/main amd64 软件包 [154 kB] 获取:33 http://mirror.hetzner.com/debian/security bullseye-security/main Translation-en [96.3 kB] 已获取 30.9 MB,耗时 3 秒 (9,792 kB/s) 正在读取软件包列表……完成 root@Debian-1101-bullseye-amd64-base ~ # apt-get upgrade 正在读取软件包列表……完成 正在构建依赖关系树……完成 正在读取状态信息……完成 正在计算升级费用……完成 以下包裹已被扣留: linux-image-amd64 以下软件包将被升级: 基础文件 bind9-dnsutils bind9-host bind9-libs bsdextrautils bsdutils cryptsetup cryptsetup-bin cryptsetup-initramfs curl distro-info-data dpkg fdisk gpgv gzip intel-microcode libblkid1 libc-bin libc-l10n libc6 libcryptsetup12 libcurl3-gnutls libcurl4 libexpat1 libfdisk1 libgmp10 libldap-2.4-2 libldap-common liblzma5 libmount1 libnss-systemd libpam-systemd libsasl2-2 libsasl2-modules libsasl2-modules-db libseccomp2 libsmartcols1 libssl1.1 libsystemd0 libudev1 libuuid1 libxml2 locales mount openssl publicsuffix rsyslog systemd systemd-sysv systemd-timesyncd sysvinit-utils task-english task-ssh-server tasksel tasksel-data tzdata udev util-linux util-linux-locales vim-common vim-tiny wget xxd xz-utils zlib1g 65 个程序已升级,0 个程序已新安装,0 个程序待移除,1 个程序未升级。 需要下载 39.2 MB 的压缩文件。 操作完成后,将释放 16.4 kB 磁盘空间。 是否继续?[Y/n] Y
[...]
root@Debian-1101-bullseye-amd64-base ~ #
安全 — 配置 SSHD
第二步是安全措施。我喜欢进入 `/etc/ssh` 目录并编辑 sshd 配置。首先,我会备份 Debian 安装程序安装和更新的原始配置文件 `/etc/ssh/sshd_config`。能够回滚总是没错的。
root@Debian-1101-bullseye-amd64-base ~ #
cp -p /etc/ssh/sshd_config /etc/ssh/sshd_config~
root@Debian-1101-bullseye-amd64-base ~ #
然后我编辑 /etc/ssh/sshd_config 文件。通常我会将默认端口设置从 22 改为更高的端口,例如 17800。我还喜欢禁用密码验证。
将默认端口设置从 22 改为其他端口,并禁用密码验证,是避免成千上万次 SSH 密码破解尝试的最简单方法。
以下是对 /etc/ssh/sshd_config 的更改:
root@Debian-1101-bullseye-amd64-base ~ # cat /etc/ssh/sshd_config
[...]
端口 17800
[...]
PermitRootLogin 禁止密码
[...]
密码验证否
[...]
root@Debian-1101-bullseye-amd64-base ~ #
修改 sshd_config 文件后,请务必重启 sshd 服务。如果不重启 sshd 服务,更改将在下次重启后生效。
root@Debian-1101-bullseye-amd64-base ~ # systemctl restart sshd
重启 sshd 后,最好保持与服务器的本地 SSH 连接不变,然后尝试从另一个终端窗口再次登录。重启 sshd 不会断开你现有的连接。如果你发现无法从第二个终端窗口登录,仍然可以使用第一个窗口来调试问题。这比被锁定在服务器之外并需要重新安装要好得多。
此外,我通常会尝试使用一个缺少所需本地 SSH 密钥的帐户登录。此测试旨在确保密码登录已被禁用。如果服务器不要求输入密码,则说明服务器不会响应所有密码破解攻击。更改 SSH 端口并禁用密码登录后,服务器的访问日志通常会变得平静许多。
入手你自己的Hetzner AX服务器!
这里是Hetzner AX系列产品的页面链接,有兴趣的朋友可以去看看。或者,想买不止一个也行!
