git pull时如何避免输入用户名和密码?

执行git remote -v,发现是使用https通讯:

bash 复制代码
git remote -v
origin  https://gitee.com/uxpi/zsites.git (fetch)
origin  https://gitee.com/uxpi/zsites.git (push)

这样每次都会提示输入用户名和密码。改为ssh方式,可避免输入用户名和密码。

要将Git仓库的远程连接从HTTPS改为SSH,你需要按照以下步骤操作:

1. 检查SSH密钥

首先,确保你已经在你的机器上生成了SSH密钥对(公钥和私钥)。你可以通过运行以下命令来检查是否存在SSH密钥:

bash 复制代码
ls -al ~/.ssh

如果你看到id_rsa和id_rsa.pub文件,那么你已经有了SSH密钥对。如果没有,你需要生成一个新的密钥对:

bash 复制代码
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

按照提示操作,你可以选择是否设置密码(passphrase),但如果你希望自动化操作(如CI/CD),则建议不设置密码。

2. 将公钥添加到Git平台

登录到你的Git平台(如Gitee),找到SSH密钥设置部分,并将~/.ssh/id_rsa.pub文件的内容添加到你的账户中。

3. 修改远程仓库的URL

现在,你需要将远程仓库的URL从HTTPS改为SSH。首先,你可以通过git remote -v查看当前的远程仓库URL。

然后,使用git remote set-url命令来更改它:

bash 复制代码
git remote set-url origin git@gitee.com:uxpi/zsites.git

这条命令将origin远程仓库的URL更改为SSH格式的URL。

4. 测试SSH连接

为了确认SSH连接是否设置正确,你可以尝试使用SSH命令直接连接到Gitee:

bash 复制代码
ssh -T git@gitee.com

如果一切设置正确,你应该会看到一条欢迎信息,而不是被要求输入密码。

5. 尝试Git操作

现在,当你执行git pull或git push等操作时,Git应该会尝试使用SSH连接,而不再要求你输入用户名和密码。

注意事项

  • 确保你的SSH密钥没有密码(如果你希望自动化操作),或者你已经记住了密码。
  • 如果你在多台机器上工作,你可能需要在每台机器上重复上述步骤,或者将你的SSH密钥复制到其他机器上(但要确保这样做是安全的)。
  • 如果你使用的是Windows系统,并且使用的是Git Bash或类似的工具,上述步骤应该仍然适用。但是,如果你使用的是其他Git客户端(如GitKraken、SourceTree等),你可能需要在客户端的设置中更改远程仓库的URL。
相关推荐
ggaofeng4 小时前
精简版ssh(去掉认证和加密流程,更清晰的展示远程登录的底层实现)
运维·ssh
行者-全栈开发6 小时前
【码动四季·秋】从 commit 到发版全自动:Conventional Commits + semantic-release 发布流水线实战
git·ci/cd·自动化发布·atomgit·semantic-releas·语义化版本自动化·git 提交规范落地
Lsetea6 小时前
ACME DNS-01报NXDOMAIN:_acme-challenge记录与权威DNS排查
https·dns·ssl证书·acme·dns-01
Lsetea15 小时前
curl指定CA目录仍报证书不受信任:--capath与OpenSSL rehash排查
运维·https·ssl·openssl·curl
Zelman20 小时前
协议栈数据流全景分析
网络协议·tcp/ip·https
YumiProxy1 天前
服务器动态IP导致SSH频繁断连?从保活配置到自动重连的完整排查方案
服务器·tcp/ip·ssh
Lsetea1 天前
OpenSSL报path length constraint exceeded:CA层级与pathlen排查
运维·https·ssl证书·openssl·证书链
Lsetea1 天前
OpenSSL s_client退出码为0却证书验证失败:严格校验与Shell管道排查
https·shell·ssl证书·openssl·tls
Lsetea1 天前
OpenSSL报permitted subtree violation:证书SAN与CA名称约束排查
运维·https·ssl证书·openssl·证书链
Julien20041 天前
CGroups 资源控制组
linux·运维·服务器·ssh·学习方法