自学内容网 自学内容网

git链接远程仓库

【 一 】ssh链接远程仓库

  • 删除git仓库

  • image-20240607192023633

【 1 】初步使用方法

  • 1、之前把本地代码,以https形式,提交到了远程仓库
#  - git remote add origin https://gitee.com/bai-zhitao/lufy.git

- 输入用户名密码
  • 2、ssh认证,只需要配置一次:公钥私钥,以后都不需要输入用户名密码了
  1. 加密方式:SSH通常使用RSA、DSA、ECDSA或Ed25519等公钥加密算法。RSA是其中最常用的一种。
  2. 非对称加密:公钥加密算法使用一对密钥:公钥(public key)和私钥(private key)。这两个密钥在数学上是相关的,但知道其中一个并不能直接计算出另一个。这就是“非对称”的含义。
  3. 公钥加密,私钥解密:这个说法在SSH密钥认证的场景中并不完全准确,因为SSH密钥认证实际上并不直接使用公钥来加密数据。但在更广泛的公钥加密概念中,这个说法是正确的。公钥用于加密数据,只有拥有相应私钥的人才能解密这些数据。但在SSH密钥认证中,私钥用于在本地机器上生成一个签名,而公钥用于在远程服务器上验证这个签名。
  4. SSH密钥认证的工作原理
    • 当用户尝试使用SSH连接到远程服务器时,客户端(通常是ssh命令)会提示用户选择一个私钥(或者如果只有一个私钥,它可能会自动选择)。
    • 客户端使用私钥来生成一个签名,这个签名基于会话的一些参数(如用户名、远程主机名、会话ID等)和一个随机生成的字符串(通常称为“挑战”或“nonce”)。
    • 客户端将公钥、签名以及会话参数发送给远程服务器。
    • 远程服务器从~/.ssh/authorized_keys文件中检索相应的公钥,并使用它来验证签名。
    • 如果签名验证成功,服务器就认为客户端拥有与公钥配对的私钥,并允许用户登录。

​ 所以,在SSH密钥认证中,私钥用于生成签名,而公钥用于验证签名。这种机制确保了只有拥有私钥的人才能成功进行身份验证。

  • 简单的来说就是

    • -ssh公钥和私钥
    • -加密方式:rsa加密,非对称加密
    • -公钥,私钥:公钥加密,私钥解密
  • 生成公钥私钥

# ssh-keygen -t ed25519 -C "Gitee SSH Key"
ssh-keygen -t ed25519 -C "3086361800@qq.com"

image-20240513205419824

  • 查看公钥私钥

# ls ~/.ssh/

image-20240513205502750

  • 读取公钥私钥

# cat ~/.ssh/id_ed25519.pub

image-20240513205553685

image-20240513204502330

image-20240513204619791

image-20240513204637589

image-20240513210321938

【 2 】本地代码提交到远端 —》 修改远程地址

image-20240513210648361

  • 删除之前的

# git remote remove origin # 删除origin对应的远程仓库地址
  • 查看

# git remote
  • 增加成ssh的地址

 #    git remote add origin git@gitee.com:bai-zhitao/git_lufy.git

  • 推送到远端

# git push origin master
  • 代码全过程

image-20240513213644032

  • 提交之后在本地就会出现

image-20240513213726470


原文地址:https://blog.csdn.net/m0_58310590/article/details/140448578

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!