当你拿到一台全新的Linux VPS(虚拟专用服务器)时,在开始连接之前,你需要准备好三样东西。首先,是服务商提供的服务器IP地址。其次,是用户名,对于全新的Linux VPS,默认的管理员账户通常是 `root`。最后,也是最重要的,是认证凭证。这有两种形式:密码或SSH密钥。大部分正规服务商在创建服务器时,会提供一个临时的`root`密码,或者要求你上传自己的SSH公钥。请务必保管好这些信息。
要连接服务器,你还需要一个SSH客户端。如果你使用的是macOS或Linux系统,恭喜你,系统已经自带了一个强大的终端工具,直接打开“终端”应用即可。如果你使用的是Windows,情况略有不同。较新版本的Windows 10和11已经内置了OpenSSH客户端,你也可以在PowerShell或命令提示符中尝试使用`ssh`命令。如果不可用,一个广受欢迎的选择是免费的PuTTY,它提供了一个图形界面来管理连接。另一个现代且功能丰富的选择是Termius,它跨平台支持,界面友好。
理解并建立安全的连接
与服务器通信的核心协议是SSH。你可以把它理解为在互联网上建立了一条加密的、受保护的隧道,你输入的所有命令和服务器返回的所有结果,在这条隧道里传输时都是被加密的,因此非常安全。基本的连接命令非常简单。打开你的终端(或PuTTY),输入以下格式的命令:
ssh root@你的服务器IP地址
例如,如果你的IP是 `123.123.123.123`,那么命令就是 `ssh root@123.123.123.123`。如果是第一次连接这台服务器,你会看到一个关于“主机真实性”的警告,询问你是否信任这个新出现的服务器指纹。这里输入 `yes` 即可,之后你的电脑就会记住这台服务器。接下来,系统会提示你输入`root`用户的密码。请注意,在输入密码时,屏幕上不会有任何字符回显(即不会显示*号),这是正常的安全设计,你只需正确输入后按回车。
然而,使用密码登录,尤其是`root`密码,在现代安全实践中被认为是相对薄弱的一环。它容易遭受破解攻击。因此,更专业、更安全的方式是使用SSH密钥对。密钥对由一把“私钥”和一把“公钥”组成。私钥保存在你自己的电脑上,必须绝对保密,好比是家的钥匙;公钥则可以放心地放到服务器上,好比是门锁。当连接时,双方会用数学方法验证你是否持有匹配的私钥,从而完成登录。这比密码安全得多,也方便得多。
要使用密钥,你首先需要在自己的电脑上生成一对。在终端里运行:
ssh-keygen -t ed25519
这条命令会生成一对基于Ed25519算法的新密钥。系统会询问你密钥保存的位置,直接按回车使用默认路径(通常是 `~/.ssh/id_ed25519`)即可。接着,它会询问你是否为私钥设置一个“通行短语”,这相当于为你的钥匙再加一把锁,即使私钥文件意外泄露,别人也无法直接使用。强烈建议设置一个。生成成功后,你会得到两个文件:`id_ed25519`(私钥)和 `id_ed25519.pub`(公钥)。
接下来,你需要把公钥“安装”到服务器上。有一个非常方便的命令可以一键完成:
ssh-copy-id root@你的服务器IP地址
运行后,输入一次`root`密码,你的公钥就会被自动添加到服务器`root`用户的 `~/.ssh/authorized_keys` 文件中。从此以后,你再连接这台服务器,就会优先使用密钥认证,不再需要输入密码了。如果使用PuTTY,过程类似,但需要使用配套的 `puttygen.exe` 工具生成密钥,并将公钥内容手动粘贴到服务器指定文件中。
登录后必须立即做的事
成功进入服务器,看到命令提示符的那一刻,你的工作才刚刚开始。一个全新的系统往往存在安全风险,你应该立即着手进行以下几项基础加固,这就像新房子入住后要马上换锁、检查门窗一样重要。
第一,立即更新系统。刚安装的系统软件包很可能不是最新版,而更新往往包含了重要的安全补丁。根据你服务器的Linux发行版(通常是Ubuntu/Debian或CentOS/Rocky Linux)运行相应的命令:
对于 Ubuntu/Debian:
apt update && apt upgrade -y
对于 CentOS/Rocky Linux:
yum update -y
第二,创建一个新的普通用户,并停止直接使用root。`root`权限太高,日常操作中一个小小的误操作就可能导致灾难性后果。我们应该创建一个具有`sudo`权限的普通用户来管理服务器。
adduser 你的新用户名
usermod -aG sudo 你的新用户名 # 在Ubuntu/Debian上
# 或者在CentOS/Rocky上使用:usermod -aG wheel 你的新用户名
创建后,你可以先退出当前的root会话(输入`exit`),然后用新用户重新登录:`ssh 新用户名@服务器IP`。登录后,你可以通过在命令前加 `sudo` 来执行需要管理员权限的操作。
第三,也是至关重要的一步,修改SSH服务的配置,从根本上加强安全。 使用文本编辑器(如`nano`或`vim`)打开SSH配置文件:
sudo nano /etc/ssh/sshd_config
在这个文件里,我们建议做以下几项修改:
1. 禁止root用户直接通过SSH登录:找到 `PermitRootLogin` 这一行,将其改为 `PermitRootLogin no`。
2. 尽可能只允许密钥登录:找到 `PasswordAuthentication` 这一行,确保其设置为 `no`。这能彻底杜绝密破解。
3. (可选)更改默认的SSH端口:找到 `Port 22` 这一行,可以将22改为一个1024到65535之间的其他数字(例如 `Port 2345`)。这能减少针对22端口的自动化扫描骚扰。
修改完成后,保存文件。在应用新配置前,请务必保持当前登录会话的开启,并新开一个终端窗口测试配置是否正确。这是为了防止配置错误导致你自己也被锁在服务器外面。在新窗口用新配置(比如新用户、新端口)尝试登录,确认成功后,再回到原来的会话窗口,运行以下命令重启SSH服务使配置生效:
sudo systemctl restart sshd # 或 sudo service ssh restart
第四,配置基础的防火墙。防火墙就像服务器的保安,只允许必要的流量进入。Ubuntu通常使用`ufw`,CentOS使用`firewalld`。例如,在Ubuntu上,你可以这样只允许SSH和HTTP/HTTPS流量:
sudo ufw allow 你的新SSH端口号/tcp # 如果你改了SSH端口,这里必须放行新端口!
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable
完成以上步骤,你的Linux VPS就已经拥有了一个坚实的安全起点。你已经成功登陆,并为它安装了第一道安全屏障。记住,服务器管理是一个持续的过程,定期更新软件、检查日志、备份数据,是确保它长期稳定运行的关键。现在,你可以在这片属于自己的数字空间里,开始部署网站、运行应用了。
CN
EN