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
首次连接:主机指纹确认
第一次连接新服务器时,终端会显示:
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 文件权限设置
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 块对应一台服务器,可以按需添加。