
直接用 ~/.ssh/config 文件配别名,是最干净、最通用的方式。它不依赖 shell 环境,对 ssh、scp、sftp 都生效,改一处,全链路生效。
创建并编辑 SSH 配置文件
如果 ~/.ssh/config 不存在,先创建它:
- 确保目录权限正确:
mkdir -p ~/.ssh && chmod 700 ~/.ssh - 新建配置文件:
touch ~/.ssh/config && chmod 600 ~/.ssh/config - 用编辑器打开:
nano ~/.ssh/config(或vim)
写入主机别名配置
每段以 Host 开头,定义一个可记忆的简称。例如:
-
Host prod→ 别名名称(之后就输ssh prod) -
HostName 203.0.113.45→ 实际 IP 或域名 -
User deploy→ 登录用户名 -
Port 2222→ 非默认端口时必须写 -
IdentityFile ~/.ssh/id_ed25519_prod→ 指定私钥路径(如有)
完整示例:
Host prod
HostName 203.0.113.45
User deploy
Port 2222
IdentityFile ~/.ssh/id_ed25519_prod
Host dev
HostName dev.internal.lan
User alice
ForwardAgent yes
支持进阶场景的常用配置项
别名不只是换名字,还能封装复杂逻辑:
-
跳转登录(堡垒机):加
ProxyJump jumpbox,前提是jumpbox也在同一 config 里定义过 -
禁用密码登录:加
IdentitiesOnly yes,强制只用密钥 -
自动压缩传输:加
Compression yes,适合慢网络 -
复用连接:加
ControlMaster auto和ControlPersist 4h,提升连续多次登录速度
验证与使用
保存后无需重启服务,直接测试:
- 运行
ssh prod—— 应自动连上对应主机 - 运行
scp file.txt prod:/tmp/—— 同样走别名,不用重复写用户和地址 - 出错时用
ssh -F ~/.ssh/config -v prod查看详细连接过程
注意:配置仅对当前用户生效;如需全局生效(不推荐),可改 /etc/ssh/ssh_config,但需 root 权限且影响所有用户。


















