~/.ssh/config 是 SSH 客户端的用户级配置文件,用于自定义 SSH 连接的参数,其核心作用是简化 SSH 命令、统一管理不同服务器的连接配置,并支持高级功能(如端口转发、代理跳转等)。
ssh 的核心配置文件如下:
~/.ssh/config:用户级配置文件,优先级最高(客户端)/etc/ssh/ssh_config:系统级配置文件(客户端)/etc/ssh/sshd_config:系统级配置文件(服务端)
一般情况下,是不会动系统级的配置文件的,除非你是服务器的系统管理员,可能会给服务器下普通用户配置一些默认的行为。
~/.ssh/config 优先级高于系统级配置文件 /etc/ssh/ssh_config,仅对当前用户生效,且配置语法灵活,能大幅提升 SSH 操作效率。
# 格式:
Host <别名> # 匹配的主机别名(支持通配符 * 和 ?)
参数1 值1 # 配置参数(如 HostName、User 等)
参数2 值2
...
# 示例:
Host work
HostName 10.0.0.5 # 真实主机名/IP
Port 2222 # 端口
User admin # 登录用户
IdentityFile ~/.ssh/work_key # 专用密钥
# ===== 华为云主机配置 =====
Host huaweiyun # 自定义别名(替代IP)
HostName 127.0.0.0 # 真实IP或域名
IdentityFile ~/.ssh/blog.lilwhale # 专属密钥登录
# ===== 阿里云主机配置 =====
Host aliyun
HostName 47.12.0.0
User root
IdentityFile ~/.ssh/blog_lilwhale.pem # 专属密钥登录
IdentitiesOnly yes # 只能使用指定密钥
Port 2222 # 指定端口号
# ===== 全局默认设置 =====
Host * # 匹配所有主机
User lil # 默认登录用户名
Port 22 # 默认端口
ServerAliveInterval 60 # 每60秒发送心跳包
注意,全局默认设置要放在最下面,否则如果你同时设置了某个服务器和全局的配置,会以全局配置为准。

暂无评论内容