git使用 ssh

SSH密钥帮助文档

公钥是代码托管服务(CodeHub)识别您的用户身份的一种认证方式,通过公钥,您可以将本地git项目与代码托管服务(CodeHub)建立联系, 然后您就可以很方便的将本地代码上传到代码托管服务(CodeHub)或者将代码托管服务(CodeHub)代码下载到本地了。 以下介绍生成公钥和管理公钥的方法。如果你是在windows系统下使用,需要先安装git的windows客户端,使用下列步骤完成密钥的添加。

1.检查系统是否存在密钥:

运行 Git Bash, 在弹出的终端中输入下面提示的代码

cd ~/.ssh

如果提示:No such file or directory 说明你是第一次使用git需要生成密钥。如果不是第一次使用您可以选择使用已有密钥或者重新生成密钥方式。

###2.备份并生成密钥:
备份密钥(可选):

mkdir key_backup
cp id_rsa* key_backup
rm id_rsa*

生成新密钥:

ssh-keygen -t rsa -C "您的email"

在回车中会提示你输入一个密码,这个密码会在你提交项目时使用,如果为空的话提交项目时则不用输入,建议采用不输入密码方式。
密钥生成后您可以在你本机系统盘下,您的用户文件夹里发现一个.ssh文件,其中的id_rsa.pub文件里储存的即为刚刚生成的ssh公钥。
###3.复制密钥:
方式1.使用下面命令显示密钥然后手工复制

cat ~/.ssh/id_rsa.pub

注意:手工复制公钥时不要复制多余的空格,否则可能添加不成功。
方式2.使用命令直接复制密钥到剪贴板

Windows:

clip < ~/.ssh/id_rsa.pub

Mac:

pbcopy < ~/.ssh/id_rsa.pub

Linux (requires xclip):

xclip -sel clip < ~/.ssh/id_rsa.pub

###4.上传密钥:
粘贴公钥到密钥栏中并创建

如果还是报错:

这里写图片描述
说明没设置git的config
这里写图片描述

最后我的问题被这个答案解决了,应该就是有固定的寻找名字,但是我在ubuntu上就不用这样呀
问题:Permission denied (publickey)
https://www.cnblogs.com/896240130Master/p/8337809.html

2020.2.9更新,这次我Win10上按上面的操作还是不行,原因我~/.ssh下没有config文件(肯定是之前乱删给删了),下面可以设置config文件
https://blog.youkuaiyun.com/MBuger/article/details/70226712

### 配置 Git 使用 SSH 进行免密登录 为了实现通过 SSH 协议让 Git 客户端能够安全地连接到远程仓库并执行操作而无需每次输入密码,可以按照以下方法完成配置。 #### 创建 SSH 密钥对 如果尚未创建过 SSH 密钥,则需要先生成一对新的公私钥文件。可以通过运行 `ssh-keygen` 命令来生成这些密钥: ```bash ssh-keygen -t rsa -b 4096 -C "your_email@example.com" ``` 此命令会提示指定保存位置以及设置密码(可选)。默认情况下,它将把密钥存储在 ~/.ssh/id_rsa 和 ~/.ssh/id_rsa.pub 中[^1]。 #### 添加 SSH 私钥至 ssh-agent 启动 ssh-agent 并加载您的私人密钥是非常重要的一步。首先确认该服务正在运行,并添加刚才生成或者已有的秘密钥匙: ```bash eval "$(ssh-agent -s)" ssh-add ~/.ssh/id_rsa ``` 这使得后续与服务器通信不再需要手动提供密码[^2]。 #### 将公共密钥上传给目标主机或平台 对于像 GitHub, GitLab 或 Bitbucket 等托管服务平台来说,您只需复制 id_rsa.pub 文件的内容并通过它们各自的 Web UI 来粘贴进去即可。具体路径如下所示: - **GitHub**: 账号 -> Settings -> SSH and GPG keys -> New SSH key. - **GitLab/Bitbucket**: 类似于 GitHub 的方式找到个人资料中的SSH Keys部分. 直接打开终端读取 .pub 文件内容的方法如下: ```bash cat ~/.ssh/id_rsa.pub ``` 然后将其完整输出填入对应网站表单里提交上去[^3]。 #### 测试连接 最后验证一切是否正常工作非常重要。尝试无参数访问 git@github.com (或者其他适用的服务地址),应该看到成功握手的消息而不是被询问用户名和密码。 ```bash ssh -T git@github.com ``` 如果是第一次联系某个特定域名下的机器,还可能收到关于指纹校验的通知;此只要确信信息匹配就可以继续下去了[^4]。 ```python print("SSH Key Setup Complete!") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值