通过配置 ~/.ssh/config 文件可实现 ssh 别名登录,无需记忆 ip、端口、用户名和密钥路径;该文件为 openssh 原生支持,需手动创建并严格设置权限(目录 700,文件 600),支持 host 别名、通配符、跳板机(proxyjump)和连接复用(controlmaster)等功能。

直接用 ssh 别名 登录,不用记 IP、端口、用户名和密钥路径——靠的就是 ~/.ssh/config 这个文件。它不是插件,而是 OpenSSH 原生支持的客户端配置机制,生效快、兼容好、维护简单。
快速创建并启用 config 文件
这个文件默认不存在,需手动创建,且权限必须严格:
- 确保
~/.ssh目录存在且权限为700:mkdir -p ~/.ssh && chmod 700 ~/.ssh - 新建配置文件并设权限
600:touch ~/.ssh/config && chmod 600 ~/.ssh/config - 用编辑器打开(如
nano ~/.ssh/config或 VS Code)开始写配置
写一个可用的主机配置块
每个服务器对应一个 Host 区块,参数顶格写、不加引号、不加等号。例如连一台训练机:
Host train-gpu HostName 10.20.30.40 User aiuser Port 2222 IdentityFile ~/.ssh/id_ed25519-train IdentitiesOnly yes
保存后,终端运行 ssh train-gpu 即可直连,所有参数自动套用。
多台服务器与特殊网络场景
数量一多或网络结构复杂时,config 依然能简化操作:
- 用通配符统一基础设置,比如对所有内网设备默认用同一用户:
Host 192.168.*.*<br> User dev<br> IdentityFile ~/.ssh/id_rsa_dev
- 通过跳板机访问内网机器:
先定义跳板:Host bastion<br> HostName 203.0.113.5<br> Port 2222
再为内网机加:Host db-inner<br> HostName 10.1.2.3<br> ProxyJump bastion
- 启用连接复用提速:
ControlMaster auto<br>ControlPath ~/.ssh/sockets/%r@%h:%p<br>ControlPersist 600
(首次连接后,后续秒开)
权限检查与常见问题排查
OpenSSH 对安全敏感,权限不对会导致配置被静默忽略:
-
~/.ssh目录必须是700 -
~/.ssh/config和所有私钥文件(如id_ed25519)都必须是600 - 验证是否生效:运行
ssh -F ~/.ssh/config -v train-gpu,看调试输出里是否加载了对应 Host 段 - 若仍失败,重点检查服务端
~/.ssh/authorized_keys文件格式是否正确、是否有多余空行或不可见字符











