Mac 和 Linux 系统自带 OpenSSH 客户端,打开终端就能直接使用 ssh 命令连接 VPS,无需安装任何额外软件。本文从最基础的连接命令讲起,延伸到指定非标端口、管理 known_hosts 文件,以及用 ~/.ssh/config 为常用服务器设置别名,让连接变得像输入一个单词那么简单。

本文要点

  • ssh 命令基本语法与常用选项
  • 指定非标准 SSH 端口的方法
  • known_hosts 的作用与清理方法
  • 用 ~/.ssh/config 配置服务器别名

打开终端

Mac 用户:按 Command + 空格 呼出 Spotlight,输入 Terminal 回车;或在 Finder → 应用程序 → 实用工具里找到「终端」。Linux 用户直接在桌面或应用菜单中打开终端模拟器即可。

基本 SSH 连接命令

最简单的连接格式:

ssh 用户名@服务器IP

搬瓦工 VPS 默认以 root 身份登录,且 SSH 端口通常不是 22,所以完整命令为:

ssh root@198.51.100.23 -p 28766

其中 -p 参数指定端口,IP 和端口均来自 KiwiVM 控制面板主界面。

搬瓦工 SSH 端口不是 22

搬瓦工为安全起见,VPS 的 SSH 端口通常是五位随机数(如 28766),请在 KiwiVM 面板查看 SSH Port 一栏,不要直接用 22。

首次连接:主机指纹确认

第一次连接新服务器时,终端会显示:

The authenticity of host '[198.51.100.23]:28766 ...' can't be established.
ED25519 key fingerprint is SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxx.
Are you sure you want to continue connecting (yes/no/[fingerprint])?

输入 yes 回车,系统把服务器指纹写入 ~/.ssh/known_hosts,后续连接不再询问。

known_hosts 文件详解

~/.ssh/known_hosts 记录着你曾连接过的所有服务器的公钥指纹。若某次连接时指纹与记录不符,SSH 会立刻报警,防止中间人攻击。

场景处理方法
重装 VPS 后指纹变化删除 known_hosts 中该 IP 的旧记录
更换 IP 后旧记录自动失效,新 IP 首次连接重新确认
指纹突然变化(未重装)谨慎处理,核实是否安全

删除某台服务器的旧指纹记录:

ssh-keygen -R '[198.51.100.23]:28766'

指纹记录可手动查看

用文本编辑器打开 ~/.ssh/known_hosts 即可看到所有已记录的服务器,每行对应一台。

SSH 常用选项速查

选项作用示例
-p 端口指定连接端口ssh root@IP -p 28766
-i 密钥文件指定私钥文件路径ssh -i ~/.ssh/id_rsa root@IP -p 28766
-v显示调试信息(排错用)ssh -v root@IP -p 28766
-N -L本地端口转发ssh -N -L 8080:localhost:80 root@IP -p 28766

用 ~/.ssh/config 配置别名

每次都输入完整命令太繁琐。在 ~/.ssh/config 中为服务器配置别名,之后只需 ssh bwh 就能连接:

# 编辑配置文件(文件不存在时自动创建)
nano ~/.ssh/config

添加以下内容:

Host bwh
    HostName 198.51.100.23
    User root
    Port 28766
    IdentityFile ~/.ssh/id_rsa

保存后直接执行:

ssh bwh

支持多台服务器

可以在 config 文件中添加多个 Host 块,每个块对应一台服务器,别名随意取,管理多台 VPS 更清晰。

config 文件权限设置

SSH 对配置文件权限有严格要求,权限过宽会拒绝加载:

chmod 600 ~/.ssh/config
chmod 700 ~/.ssh

小结

  • ssh 命令内置于 Mac/Linux,无需安装
  • 用 -p 指定搬瓦工的非标端口
  • 首次连接输入 yes 确认指纹,重装后用 ssh-keygen -R 清理
  • ~/.ssh/config 配置别名,大幅简化日常连接操作

常见问题

Mac 需要安装 SSH 客户端吗?

不需要。macOS 自带 OpenSSH,打开终端直接使用 ssh 命令即可。

连接时提示 Host key verification failed 怎么办?

通常是重装系统后指纹变化。运行 ssh-keygen -R '[IP]:端口' 删除旧记录后重新连接即可。

~/.ssh/config 文件能配置多少台服务器?

没有限制,每个 Host 块对应一台服务器,可以按需添加。