Github | 权限问题

使用新电脑使用github时,需要先生成一个公钥和私钥,才能完成认证

生成公钥和私钥

打开 git bash,输入ssh-keygen -t rsa -C "邮箱(github的)",回车,然后连按三次回车
,在C:\Users\用户名.ssh目录中找到对应的两个文件,前后分别为私钥和公钥。
私钥和公钥

设置公钥链接至github

一、在Github 的设置中打开 “SSH and GPG keys” ,点击 “new key”

二、随便输入一个名字,然后打开 id_rsa.pub 文件,把文件内容复制到key的输入框中,保存。

在本地设置私钥

打开git bash,执行命令“ssh -T git@github.com”,然后输入yes。

如果还出现

remote: Permission to xxx/xxx.git denied to xxx.

这个问题,可能是因为电脑之前给另一个Github账号生成过公私钥,且可能把这个跟线上仓库连接过,但现在不用这个账号推送到线上了,因此要更换账号,方法如下:
$ git remote rm origin
$ git remote add origin git@github-he:xxx

现在就可以用当前的账号进行推送了。

### 配置 GitHub 仓库的访问权限 GitHub 提供多种方式来管理仓库的访问权限,主要通过 SSH 密钥、个人访问令牌以及团队协作角色分配等方式完成。 #### 使用 SSH 密钥配置访问权限 为了能够安全地从本地计算机连接到 GitHub 远程仓库,可以使用 SSH 密钥作为身份验证方法。以下是具体步骤: 1. **创建 SSH 密钥** 如果尚未生成 SSH 密钥,则可以通过以下命令生成密钥: ```bash ssh-keygen -t rsa -b 4096 -C "your_email@example.com" ``` 此处 `your_email@example.com` 应替换为与 GitHub 帐户关联的电子邮件地址[^4]。 2. **检查 `.ssh` 目录是否存在** 确认是否已存在 `.ssh` 文件夹及其内容文件(如 `id_rsa` 和 `id_rsa.pub`)。如果没有找到这些文件,则需要重新运行上述命令生成新的密钥对。 3. **复制公钥内容** 将生成的公共部分 (`id_rsa.pub`) 复制下来以便稍后粘贴至 GitHub 上面去。 ```bash cat ~/.ssh/id_rsa.pub ``` 4. **在 GitHub 中添加 SSH Key** 登陆自己的 GitHub 账号之后进入 Settings -> SSH and GPG keys 页面下新增一条记录,并把之前获取得到的那个字符串填进去即可完成绑定过程。 5. **测试连接有效性** 执行如下指令检验能否成功建立链接关系: ```bash ssh -T git@github.com ``` 成功的话会收到类似这样的消息:“Hi username! You've successfully authenticated...” 对于多账号场景下的特殊处理措施已经在引用材料里有所提及——即利用不同的 Host 定义区分各个账户对应的私钥路径从而实现切换功能[^1]。 #### 利用 Personal Access Token (PAT) 实现 HTTPS 方式的授权认证 另一种常见的做法就是借助 PAT 来代替传统的密码机制来进行身份确认工作流程如下所示: 1. 创建一个新的 PAT; 2. 设置目标存储库 URL 地址(如果是首次推送或者更换协议类型则必需此操作); 3. 输入用户名和刚才产生的 token 字符串当作口令提交给服务器端校验; 详细指导参见参考资料说明[^2]. 另外值得注意的是,在 IntelliJ IDEA 或其他 IDE 工具里面也可以按照相同逻辑集成进来方便日常开发活动中的版本控制需求[^3]. ```python import os def check_ssh_connection(): result = os.system('ssh -T git@github.com') if result == 0: print("Connection successful.") else: print("Failed to connect.") check_ssh_connection() ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值