Git的.ssh文件夹内容介绍

SSH密钥与配置详解
本文介绍了SSH密钥对(包括rsa与rsa.pub)的生成方法及其在GitHub上的应用,同时还详细讲解了如何通过config文件配置多个git账户,并解释了known_hosts文件的作用及常见问题解决方法。

文章作者:Tyan
博客:noahsnail.com  |  优快云  |  简书

1. rsa与rsa.pub

首先是rsa与rsa.pub是如何产生的,产生的命令如下:

ssh-keygen -t rsa -C "yourname@email.com"

解释:ssh-keygen是产生密钥,密钥有两种类型rsa和dsa两种,-t用来指定密钥类型,-t rsa是将密钥类型指定为rsa,-C是公钥中的备注,通常指定为自己的邮箱。

上面的命令执行后会让你输入密钥的名字,通常为id_rsa,如果有多个密钥则需要输入不同的名字。id_rsa和id_rsa.pub。id_rsa为私有密钥,id_rsa.pub为公有密钥。id_rsa.pub公钥是我们用来在Github的profile中的SSH and GPG keys中输入的,id_rsa是我们的私钥,当我们从Github上请求内容时,例如clone时,Github服务器会通过算法计算私有密钥,并将计算结果与公有密钥比对,如果不一致会提示访问失败。

测试是否连接成功可以使用如下命令:

ssh -T git@github.com

2. config文件

config文件主要在配置多个git账户时使用的,里面主要配置了访问不同的主机(Host)时采用不同的密钥。文件内容例如:

#公司的git地址
Host git.***.com  
   User git
   Hostname git.***.com  #公司的git地址
   IdentityFile ~/.ssh/id_rsa  #访问公司git的SSH KEY
   Port   ***  #公司的git端口

Host github.com
   User git
   Hostname github.com #github的地址
   IdentityFile ~/.ssh/id_rsa_github  #访问github的SSH KEY

3. known_hosts文件

这个文件主要是用来记录服务器端的Host,IP以及rsa文件的。

有时候你访问Git服务器,会报Host key verification failed,主机密钥验证失败。主机就是自己的电脑了,密钥失败主要有两种情况:一、RSA密钥改了;二、known_hosts文件中存在缓存记录,如果不是RSA的问题,那应该就是known_hosts文件的问题了,此时查看错误信息里有一条:

Offending ECDSA key in /Users/username/.ssh/known_hosts: 5

上面的最后一位数可能是别的,你只需要找到对应的那条记录,删掉即可。当然也可以直接删掉known_hosts文件。known_hosts文件主要是用来进行缓存的,缓存主要是为了减少验证次数,不用每次都验证,直接读取缓存即可。

备注:.ssh文件下的内容就这么多,更多内容例如想知道如何配置Git账户,可以参考我的另一篇文章:Git多用户配置,地址如下:

优快云博客地址
简书博客地址
个人博客地址

### 如何在操作系统中生成或创建 `.ssh` 文件夹 #### 创建 `.ssh` 文件夹的方法 `.ssh` 文件夹通常用于存储 SSH 密钥和其他相关配置文件。如果该文件夹不存在,则可以通过以下方式手动创建。 对于 **Mac 和 Linux** 用户,可以在终端中运行以下命令来创建 `.ssh` 文件夹并设置正确的权限: ```bash mkdir ~/.ssh chmod 700 ~/.ssh ``` 上述命令的作用是创建名为 `.ssh` 的隐藏文件夹,并将其权限设置为仅允许当前用户访问[^1]。 对于 **Windows** 用户,在安装 Git 后,默认情况下可能不会自动生成 `.ssh` 文件夹。此时可以按照以下步骤操作: 1. 打开 Git Bash。 2. 使用 `cd ~` 命令进入用户的主目录。 3. 运行以下命令以创建 `.ssh` 文件夹并调整其权限(尽管 Windows 权限模型不同,此步仍推荐执行): ```bash mkdir ~/.ssh chmod 700 ~/.ssh ``` 此外,还可以通过图形界面导航到用户主目录下的 `.ssh` 文件夹位置(例如 `C:\Users\<YourUsername>\.ssh`),然后右键单击空白区域选择“新建 -> 文件夹”,命名为 `.ssh` 即可[^3]。 #### 配置 SSH 密钥 一旦 `.ssh` 文件夹被成功创建,下一步通常是生成新的 SSH 密钥对。这可通过运行以下命令完成: ```bash ssh-keygen -t rsa -b 4096 -C "your_email@example.com" ``` 当提示保存密钥的位置时,可以直接按下回车键接受默认路径 `/home/<username>/.ssh/id_rsa` 或者指定其他路径。之后还需要输入密码短语 (passphrase),这是为了增加额外的安全层保护私钥。 完成后会在 `.ssh` 文件夹内看到两个新文件:一个是公钥 (`id_rsa.pub`);另一个则是对应的私钥(`id_rsa`)。 #### 注意事项 - 如果尝试切换至 `.ssh` 文件夹却收到错误消息 `$bash: cd: /c/Users/Administrator/.ssh: No such file or directory` ,则表明尚未建立该文件夹,需依照前述指导先行构建[^2]。 - 确保所有涉及敏感数据的操作都在安全环境下进行,防止未经授权的访问。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值