学会配置 ~/.ssh/config 文件:统一管理多服务器、简化登录流程

~/.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秒发送心跳包

注意,全局默认设置要放在最下面,否则如果你同时设置了某个服务器和全局的配置,会以全局配置为准。

© 版权声明
喜欢就支持一下吧
点赞728赞赏 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码快捷回复

    暂无评论内容