git clone 方式包括:https、ssh、svn、svn+ssh
用https的方式,如果是切换不同帐号,则每次操作都需要输入帐号和密码,非常不方便。
用ssh的方式,只要把公钥部署到git的ssh公钥里,就可以不需要输入帐号和密码。下面就记录一下如何配置ssh。
-
打开git bash
-
执行$ cd .ssh;ll,查看是否已经有生成密钥
Administrator@OS-20201115UTAW MINGW64 ~
$ cd ~/.ssh;ll
- 如果没有,则执行ssh-keygen -t rsa -C "邮箱",生成密钥
Administrator@OS-20201115UTAW MINGW64 ~
$ ssh-keygen -t rsa -C "x****4@163.com"
Generating public/private rsa key pair.
Enter file in which to save the key (~/.ssh/id_rsa): ~/.ssh/s****4_rsa #设置保存路径和密钥文件名
Enter passphrase (empty for no passphrase): #设置密码可为空
Enter same passphrase again: #确认密码可为空
Your identification has been saved in ~/.ssh/s****4_rsa
Your public key has been saved in ~/.ssh/s****4_rsa.pub
The key fingerprint is:
SHA256:wBq1EurHjykFYK++0MlLzuHOECaCFLniNr+H7MBDgHE x****4@163.com
The key's randomart image is:
+---[RSA 3072]----+
|ooE . . |
|o=o. + . |
|o.+.o + |
|=o.o + . |
|B+. = S |
|BB + + |
|+=@ + . |
|.B+B . |
| oOoo |
+----[SHA256]-----+
邮箱 其实是 gitee.com或github.com的帐号。 如果不设置保存路径和密钥文件名,默认~/.ssh/id_rsa。
- 执行$ cd .ssh;ll
Administrator@OS-20201115UTAW MINGW64 ~
$ cd .ssh;ll
total 7
-rw-r--r-- 1 Administrator 197121 887 12月 8 11:45 s****4_rsa
-rw-r--r-- 1 Administrator 197121 222 12月 8 11:45 s****4_rsa.pub
- 执行cat id_rsa.pub,查看公钥
Administrator@OS-20201115UTAW MINGW64 ~/.ssh
$ cat s****4_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQCQu15dlNLvxgNdnmMncfUmHqaRAcnJRtB9klvTGkVF3MuxjrLuq9jfnmHWpjR5t7XE80TJvBD1w72k6E7vJMDE9uPG4fxxBg8CyZBY+TRv3CR//awZR/WYclFvKennYEKriyfgrZmc7H6G8TFTQlriZeSClRLZNVRZid1frG+8Uw== RSA-1024
- 复制公钥
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQCQu15dlNLvxgNdnmMncfUmHqaRAcnJRtB9klvTGkVF3MuxjrLuq9jfnmHWpjR5t7XE80TJvBD1w72k6E7vJMDE9uPG4fxxBg8CyZBY+TRv3CR//awZR/WYclFvKennYEKriyfgrZmc7H6G8TFTQlriZeSClRLZNVRZid1frG+8Uw== RSA-1024
- 登录gitee.com或github.com,或其他git远程仓库,找到ssh公钥配置的地方,添加公钥配置。
gitee配置如图
- ssh配置结束,测试连接:
Administrator@OS-20201115UTAW MINGW64 ~
$ ssh -T s****4@gitee.com
Hi Admin! You've successfully authenticated, but GITEE.COM does not provide shell access.
s****4代表gitee空间地址 https://gitee.com/s****4。
PS:如果出现s****4@gitee.com: Permission denied (publickey),请参考https://blog.csdn.net/qq_41139830/article/details/83065446
之后就是git clone代码要用ssh地址,如:
Administrator@OS-20201115UTAW MINGW64 /d/workspace
$ git clone git@gitee.com:s****4/yyyy.git
配置了ssh后,本地与远程仓库交互就不需要帐号和密码了