微米链主节点VPS设置教学

设置主节点需要对Linux和区块链技术有基本的了解,并具有严格遵循说明的能力。 它还需要定期维护和仔细的安全保护。 在此过程中需要做出一些决定,并采取可选的额外步骤来提高安全性。

设置您的VPS

VPS(通常称为云服务器)是在虚拟机中运行的操作系统(通常是Linux)的功能齐全的安装。 虚拟机允许VPS提供程序在一台物理服务器上运行多个系统,与在每个服务器的“裸机”上运行单个操作系统相比,它使效率更高,成本更低。

VPS非常适合托管主节点,因为它们通常可提供有保证的正常运行时间,在硬件故障的情况下提供冗余,以及确保您保留在主节点支付队列中所需的静态IP地址。 从技术上讲,虽然可以在家中在台式计算机上运行主节点,但由于大多数ISP为家庭用户分配了动态IP地址,因此很有可能无法可靠地工作。

尽管DigitalOcean,Amazon EC2,Google Cloud,Choopa和OVH也是最受欢迎的选择,但我们将以Vultr托管作为VPS的示例。 首先创建一个帐户并添加信用额。 然后转到左侧的“服务器”菜单项,然后单击+添加新服务器。 在以下屏幕上为新服务器选择一个位置:

首次连接VPS时遇到密码挑战

Vultr服务器位置选择屏幕

选择Ubuntu 18.04 x64作为服务器类型。 我们使用Ubuntu的LTS版本而不是最新版本,因为安全更新支持LTS版本5年,而不是通常的9个月。

Vultr server type selection screen Vultr服务器类型选择画面

首次连接VPS时遇到密码挑战

选择至少提供2GB内存的服务器大小。

首次连接VPS时遇到密码挑战

服务器大小选择画面

输入服务器的主机名和标签。 在此示例中,我们将使用mn1作为主机名。

Vultr服务器主机名和标签选择画面

首次连接VPS时遇到密码挑战

Vultr现在将安装在您的服务器。 此过程可能需要几分钟。

首次连接VPS时遇到密码挑战

Vultr服务器安装画面

安装完成后,单击“Manage管理”,并记下IP地址,用户名和密码。

首次连接VPS时遇到密码挑战

Vultr服务器管理画面

设置操作系统

我们将从连接到您新配置的服务器开始。 在Windows上,我们将首先下载一个名为PuTTY的应用程序以连接到服务器。 转到PuTTY下载页面,然后为您的系统选择适当的MSI安装程序。 在Mac或Linux上,您可以直接从终端ssh-只需键入ssh root @ <server_ip>并在出现提示时输入密码。

首次连接VPS时遇到密码挑战

PuTTY下载页面

双击下载的文件以安装PuTTY,然后从“开始”菜单运行该应用程序。 在主机名字段中输入服务器的IP地址,然后单击打开。 您可能会看到证书警告,因为这是您第一次连接到该服务器。 您可以安全地单击“是”以将来信任此服务器。

首次连接VPS时遇到密码挑战

连接到新服务器时的PuTTY安全警报

现在,您已连接到服务器,并且应该看到一个终端窗口。 首先使用托管提供商提供的用户root和密码登录服务器。

首次连接VPS时遇到密码挑战

首次连接VPS时遇到密码挑战

您应该立即更改root密码,并将其存储在安全的地方以确保安全。 通过在浏览器中选择以下任何命令,然后按Ctrl + C,然后切换到PuTTY窗口,然后在该窗口中单击鼠标右键,可以复制和粘贴以下命令。 文本将粘贴在当前光标位置:

passwd root

输入并确认新密码(最好是随机生成的长密码)。 接下来,我们将使用以下命令创建一个新用户,将替换为您选择的用户名:

adduser

系统将提示您输入密码。 输入并使用新密码(不同于您的root密码)进行确认,并将其存储在安全的地方。 您还将看到提示用户输入信息,但是可以将其留为空白。 创建用户后,我们会将其添加到sudo组中,以便他们可以以root用户身份执行命令:

usermod -aG sudo

现在,仍然以root用户身份,我们将从Ubuntu软件包存储库更新系统:

apt update 更新

apt upgrade 升级

系统将显示可升级软件包的列表。 按Y,然后按Enter以安装软件包。 现在,我们将安装防火墙(以及稍后将使用的一些其他软件包),添加交换内存并重新启动服务器以应用所有必要的内核更新,然后以新用户身份登录到我们新保护的环境:

apt install ufw python virtualenv git unzip pv

(按Y并按Enter确认)

ufw allow ssh/tcp

ufw limit ssh/tcp

ufw allow 8888/tcp

ufw logging on

ufw enable

(按Y并按Enter确认)

fallocate -l 4G /swapfile

chmod 600 /swapfile

mkswap /swapfile

swapon /swapfile

nano /etc/fstab

在文件末尾添加以下行(按Tab键分隔每个单词/数字),然后按Ctrl + X关闭编辑器,然后按YEnter保存文件。

/swapfile none swap sw 0 0

最后,为了防止暴力破解密码,我们将安装fail2ban并通过ssh禁用root登录。 这些步骤是可选的,但强烈建议这样做。 从fail2ban开始:

apt install fail2ban

创建一个新的配置文件:

nano /etc/fail2ban/jail.local

并粘贴以下配置:

[sshd]

enabled = true

port = 22

filter = sshd

logpath = /var/log/auth.log

maxretry = 3

然后按Ctrl + X关闭编辑器,然后按Y和Enter保存文件。 重新启动并启用fail2ban服务:

systemctl restart fail2ban

systemctl enable fail2ban

接下来,打开SSH配置文件以禁用通过SSH的root登录:

nano /etc/ssh/sshd_config

找到读为PermitRootLogin yes的行列,并将其设置为PermitRootLogin no。 在其正下方,添加一行读取AllowUsers <用户名>的行列,将<用户名>替换为您在上面选择的用户名。 然后按Ctrl + X关闭编辑器,然后按Y和Enter保存文件。

然后重新启动服务器:

reboot now

服务器重启时,PuTTY将断开连接。

虽然此设置包括保护服务器免受攻击的基本步骤,但可以做更多的事情。 特别是,建议使用公用密钥而不是用户名/密码组合进行身份验证并启用自动安全更新。 这里有更多提示。 但是,由于主节点实际上并不存储密钥,因此这些步骤被认为超出了本指南的范围。