跳到主要内容
注册无需实名认证
安云主机 AnYun VPS

教程 · 快速上手

第一次连接 VPS:SSH 登录、核对指纹与系统首次更新

难度

入门

预计时长

15 分钟

步骤

7

最近修订

基准系统

Debian 12

要点

第一次连接 VPS:SSH 登录、核对指纹与系统首次更新

拿到开通信息里的 IP、SSH 端口与 root 密码后,在本地终端执行 ssh root@你的IP 即可登录,Windows 10/11、macOS 与 Linux 都自带 ssh 命令,无需额外安装客户端。登录后的标准动作是核对主机指纹、完成系统首次更新、设置时区与主机名,内存较小的机型再加一块 swap。

前置条件

开始之前,先确认这些都具备

  • 一台已开通的 VPS,以及开通信息中的 IP 地址、SSH 端口与 root 密码
  • 一台本地电脑(Windows 10/11、macOS 或任意 Linux 发行版)

操作步骤

7

  1. 步骤 01 / 07

    打开本地终端并发起连接 #

    Windows 用 PowerShell 或 Windows 终端,macOS 用「终端」,Linux 用任意终端模拟器 —— 三者都内置 OpenSSH 客户端,PuTTY 早已不是必需品。如果开通信息里的端口不是 22,必须用 -p 显式指定,否则连接会一直卡到超时。

    Shell
    # 默认 22 端口
    ssh [email protected]
    
    # 非默认端口(开通信息里写多少就填多少)
    ssh -p 22022 [email protected]
  2. 步骤 02 / 07

    核对主机指纹,然后才输 yes #

    首次连接时终端会打印一段 ED25519 指纹并询问是否继续。这一步不是走过场:它是你唯一一次能确认「连上的确实是自己那台机器」的机会。把指纹与控制台 VNC 里读到的值比对一致再输 yes,之后指纹保存在本地 ~/.ssh/known_hosts,后续连接自动校验。

    Shell
    # 在控制台 VNC 里执行,读出服务器自己的指纹,与本地提示比对
    ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub
    
    # 如果重装过系统,本地会报 REMOTE HOST IDENTIFICATION HAS CHANGED
    # 确认过确实是自己重装的,再删掉旧记录
    ssh-keygen -R 203.0.113.10
  3. 步骤 03 / 07

    确认拿到的机器和下单的一致 #

    花三十秒核对配置,比用了两周才发现磁盘不对要省事得多。重点看核心数、内存、磁盘容量与虚拟化类型 —— lscpu 里的 Hypervisor vendor 应当是 KVM。

    Shell
    cat /etc/os-release
    uname -r
    nproc
    free -h
    df -h /
    lscpu | grep -i hypervisor
    ip -4 addr show scope global
  4. 步骤 04 / 07

    完成第一次系统更新 #

    系统镜像的制作日期与你开通的日期之间总有时间差,这段时间累积的安全更新必须先补上。Debian 与 Ubuntu 用 apt,Rocky 与 AlmaLinux 用 dnf。

    Shell
    # Debian / Ubuntu
    apt update && apt full-upgrade -y && apt autoremove -y
    
    # Rocky Linux / AlmaLinux
    dnf upgrade -y
  5. 步骤 05 / 07

    设置时区与主机名 #

    时区决定日志时间戳。面向中国大陆的业务用 Asia/Shanghai 排查最直观,多机房机队则建议统一用 UTC —— 两种选法都对,混着用才是错的。主机名建议带上机房与用途,提示符里一眼能认出自己在哪台机器上。

    Shell
    timedatectl set-timezone Asia/Shanghai
    timedatectl status
    
    hostnamectl set-hostname hk-web-01
    # 让 sudo 不再抱怨解析不到主机名
    grep -q '^127.0.1.1' /etc/hosts \
      && sed -i 's/^127.0.1.1.*/127.0.1.1\thk-web-01/' /etc/hosts \
      || echo -e "127.0.1.1\thk-web-01" >> /etc/hosts
  6. 步骤 06 / 07

    给小内存机型加一块 swap #

    1 GB 内存的机器在编译、apt 升级或数据库启动时很容易被 OOM Killer 结束进程。一块 1–2 GB 的 swap 文件不会让机器变快,但能让它在内存峰值时活下来。swappiness 设为 10,意思是「实在没办法才用 swap」。

    Shell
    fallocate -l 1G /swapfile || dd if=/dev/zero of=/swapfile bs=1M count=1024
    chmod 600 /swapfile
    mkswap /swapfile
    swapon /swapfile
    echo '/swapfile none swap sw 0 0' >> /etc/fstab
    
    echo 'vm.swappiness = 10' > /etc/sysctl.d/99-swappiness.conf
    sysctl --system
    free -h
  7. 步骤 07 / 07

    内核更新后重启一次 #

    刚才的升级如果换了内核,要重启才生效。趁机器上还没有业务,现在重启的代价是零;等上线之后再补这一步,代价就不是零了。重启后大约二三十秒能重新连上。

    Shell
    # Ubuntu 会留下这个标记文件
    test -f /var/run/reboot-required && echo "需要重启"
    
    reboot
    
    # 等待约 30 秒后重新连接
    ssh -p 22022 [email protected]
    uptime

常见错误

这一步最容易踩的坑

下面每一条都对应一个真实会发生的故障。先读完再动手,比出问题之后再回来查要省时间。

  • Permission denied 绝大多数时候不是密码错,而是端口填错,或者从邮件里复制密码时带上了首尾空格。先用控制台 VNC 登录一次,确认密码本身没问题。
  • 连接超时与密码无关。先换一个网络(例如手机热点)再试:如果换网络就通,问题在你本地到该机房的路由。提交工单时附上 mtr 结果,比只写「连不上」有用得多。
  • 不要长期用 root 做日常操作。root 没有第二次确认机会,一条 rm 打错路径就没有回头路。
  • 重装系统会更换主机密钥,本地 SSH 会报指纹变更警告。这个警告存在的意义就是提醒你,别养成一看到就无脑删掉旧记录的习惯。
  • swap 不是内存的替代品。如果 free -h 里 swap 长期被占满,说明该升配了,而不是该加大 swap。

这篇教程的边界

  • 命令以 Debian 12 为准。Ubuntu 与 Rocky Linux 的差异只在正文明确标注之处,未标注的部分请以你所用发行版的官方文档为准。
  • 示例中的 IP 来自文档保留段 203.0.113.0/24,域名为 example.com,端口为示意值。复制后必须替换成自己的值, 原样执行不会有任何效果。
  • 教程不能替代备份。任何会改动数据或线上流量的步骤,执行前先确认有一份验证过能恢复的备份。
  • 本站不提供任何用于绕过网络审查的配置或说明,这篇也不例外。

发现命令过时或有误,请发邮件到 [email protected]。 指出错误的邮件比沉默的旧文档有价值得多。

联系 工单
扫码
手机访问

扫码在手机上打开