如何正确配置SSH及ssh_config?Mac端ssh_config路径异常是否正常
SSH配置文件位置相关问题解答
首先确认:这是完全正常的现象,你的配置没有任何问题
SSH默认存在两级作用范围不同的配置文件,二者定位完全不同:
- 系统级全局配置:路径为
/etc/ssh/ssh_config,是系统默认自带的配置,对当前设备的所有用户生效,你在这里找到该文件属于预期情况 - 用户级自定义配置:路径为
~/.ssh/config,默认不会自动生成,需要用户手动创建,仅对当前登录的用户生效,优先级高于系统级配置,相同配置项会优先读取用户级配置的数值。
你当前~/.ssh目录下只有私钥、公钥和known_hosts文件是完全正常的情况。
正确配置SSH和ssh_config的步骤
1. 先创建并配置用户级config文件的基础权限
SSH对配置文件权限有严格要求,权限过于开放会直接拒绝读取配置,执行以下命令完成初始化:
# 创建空的用户配置文件 touch ~/.ssh/config # 设置正确的权限(仅当前用户可读写) chmod 600 ~/.ssh/config
2. 常用配置示例
你可以根据自己的使用需求往~/.ssh/config里添加配置,以下是通用参考模板:
# 全局通用配置(写在所有Host配置之前,对所有连接生效) IdentitiesOnly yes ServerAliveInterval 60 ServerAliveCountMax 3 # 单站点配置示例:GitHub Host github HostName github.com User git IdentityFile ~/.ssh/someprivatekey # 替换为你实际的私钥文件路径 # 单站点配置示例:个人云服务器 Host myserver HostName 192.168.1.100 # 替换为你服务器的实际IP/域名 User ubuntu # 替换为你服务器的登录用户名 Port 22 # 如果你修改过SSH端口可以替换为对应端口,默认22可以省略该行 IdentityFile ~/.ssh/someprivatekey
3. 配置生效后的使用方式
配置完成后不需要重启任何服务,直接可以使用简化命令连接:
- 连接GitHub时,原本需要输入
ssh git@github.com,现在只需要输入ssh github即可 - 连接个人服务器时,原本需要输入
ssh ubuntu@192.168.1.100,现在只需要输入ssh myserver即可
内容的提问来源于stack exchange,提问作者feldo badix
相关产品推荐
相关产品推荐

