Git 免密码登录

简介: Git 免密码登录

Git 免密登录

许多Git服务器都支持使用SSH公钥进行认证,当然也包括github

首先你需要确认一下自己是否已经拥有密钥了,默认情况下,用户的 SSH 密钥存储在其 ~/.ssh 目录下。进入该目录并列出其中内容,你便可以快速确认自己是否已经拥有密钥:

$ cd ~/.ssh
$ ls
authorized_keys2  id_rsa       known_hosts
config            id_rsa.pub

我们需要寻找一对 id_rsaid_dsa 命名的文件,其中一个带 .pub 扩展名。 '.pub'文件是你的公钥,另一个则是私钥。如果没有找不到这样的文件(或者根本就没有.ssh目录),我们可以通过 ssh-keygen 程序来创建它们。

#邮箱可以随便填

$ ssh-keygen -t rsa -C "xx@xx.com"

首先 ssh-keygen 会确认密钥的存储位置和文件名(默认是 .ssh/id_rsa),然后他会要求你输入两次密钥口令,留空即可。所以一般选用默认,全部回车即可。

接下来我们登陆到GitHub上,右上角小头像->Setting->SSH and GPG keys中,点击new SSH key。

Title:可以随便填写,但最好起的名字能让自己知道这个公钥是哪个设备的。

Key:将上面生成的.pub文件中的所有内容复制到这里。

点击下面的Add SSH key即可。

然后你就会发现可以免密码访问了

Git服务器

如果服务端是自己搭建的git服务器,生成密钥公钥对的步骤是一样的。

然后将生成的 .pub 文件内容,导入到git服务器 /home/git/.ssh/authorized_keys 文件内,一行一个。

然后你就会发现git push 不再需要密码了

搭建git服务器和相关免登陆的详细步骤可参考我的另一篇 手把手教你搭建git服务器

HTTPS通信协议

上面讲了SSH方式的免密码,接下来讲一下越来越常用的HTTPS方式的免密码

新建文件并保存密码

$ touch ~/.git-credentials
$ vim ~/.git-credentials
https://{username}:{passwd}@github.com

添加git配置

$ git config --global credential.helper store

查看~/.gitconfig文件变化

$ cat ~/.gitconfig
[credential]
    helper = store
相关文章
|
4月前
|
开发工具 数据安全/隐私保护 C++
vs2019中同步到github上的用户名错误_控制面板和vs的git全局设置重新登录
vs2019中同步到github上的用户名错误_控制面板和vs的git全局设置重新登录
47 0
|
安全 Linux Shell
Github新安全措施:停止Git客户端账号密码登录的解决方案
Github新安全措施:停止Git客户端账号密码登录的解决方案
224 0
|
网络安全 开发工具 git
Git_码云_账号的注册登录&创建远程库
Git_码云_账号的注册登录&创建远程库
229 0
Git_码云_账号的注册登录&创建远程库
|
网络安全 开发工具 数据安全/隐私保护
版本管理·玩转git(远程仓库配置和配置公钥免密登录)
版本管理·玩转git(远程仓库配置和配置公钥免密登录)
188 0
版本管理·玩转git(远程仓库配置和配置公钥免密登录)
|
前端开发 网络安全 开发工具
Node与Git环境搭建登录网站
Node与Git环境搭建登录网站
131 0
Node与Git环境搭建登录网站
|
网络安全 开发工具 git
IDEA 中git使用非默认ssh客户端进行登录
IDEA 中git使用非默认ssh客户端进行登录
2059 0
|
网络安全 开发工具 git
|
1月前
|
存储 开发工具 git
|
1月前
|
开发工具 git
【GIT 第二篇章】GIT常用命令
Git常用命令涵盖初始化、状态管理、提交、分支处理、远程操作等关键流程。`git init`启动本地仓库,`git clone`下载远程仓库。通过`git status`和`git diff`检查工作状态与差异。利用`git add`暂存文件,`git commit`保存更改。借助`git branch`、`git checkout`、`git merge`和`git rebase`管理分支。使用`git fetch`、`git pull`和`git push`同步远程仓库。通过`git reset`、`git revert`和`git checkout`实现版本回退。
52 0
|
1天前
|
存储 Linux 开发工具
掌握 Git 命令:每个开发者的必备技能
本文介绍 Git 的核心概念,如仓库、提交、分支与合并,并提供了常用命令,如初始化仓库 (`git init`)、提交更改 (`git commit -m "Commit message"`)、拉取 (`git pull`) 和推送 (`git push`) 等。此外,还分享了高级技巧,如撤销提交 (`git revert <commit>`)、交互式暂存 (`git add -i`) 和使用别名简化命令 (`git config --global alias.ci commit`) 等,帮助开发者提升效率。无论是初学者还是资深开发者,都能从中受益。