赞
踩
git clone
项目时一般使用两种协议 https
和 ssh
。RSA
(也支持其他算法: RSA、DSA、ECDSA、EdDSA、Ed25519
,它们在效率,安全性上有所区别)。gitlab, github, gitee
等,可以生成多对;也可以多个平台使用一对秘钥),ssh-agent
,gitlab, github,gitee
~/.ssh/
下,本次用到的相关文件
id_rsa
和 id_rsa.pub
:默认一对公私钥的名字,可以有多对,使用命令 ssh-keygen
生成。known_hosts
:当替换了原有平台的公钥时,需要去这个文件里删除对应平台的 host 记录。~/.ssh/
下是否有秘钥对,如果没有则重新生成。# 给 邮箱zhangsan@qq.com 或 用户lisi 生成公私钥
# -t 参数:指定算法 ed25519,更加高效和安全
# -C 参数:指定公私钥中的注释,一般用邮箱或用户名,不影响使用
ssh-keygen -t ed25519 -C "zhangsan@qq.com"
ssh-keygen -t ed25519 -C "lisi"
# 输入命令后,如果不需要密码的话,连续3个回车。最后得到了两个文件:id_rsa和id_rsa.pub。
# 如果需要指定当前秘钥给 gitlab 平台,在第一次回车后,复制提示的路径,修改 id_rsa 为 gitlab_id ,
# 则会得到 gitlab_id 和 gitlab_id.pub 两个文件。
ssh-agent
私钥管理器。# 查看当前已经添加的 秘钥
ssh-add -l
# 添加指定的 秘钥,不要添加公钥
ssh-add ~/.ssh/id_rsa
ssh-add ~/.ssh/gitlab_id
# 如果发现本地 ssh-add 没有的话,就先运行如下命令
eval `ssh-agent -s`
gitlab、github、gitee
。# 验证是否可以连接目标服务器,验证格式:ssh -T git@domain。
# domain 是克隆项目时 git@domain:project 之间的内容。
ssh -T git@gitlab.company.com
ssh -T git@gitee.com
ssh -T git@github.com
# 直接克隆项目代码试试
git clone git@xxx.git
# 生成秘钥
ssh-keygen -t ed25519 -C "zhangsan@qq.com"
# 查看添加秘钥到 管理器
ssh-add -l
ssh-add ~/.ssh/id_rsa
# 运行管理器
eval `ssh-agent -s`
# 验证是否可以访问
ssh -T git@gitee.com
ssh -T git@gitee.com
可以,但是仍不能 克隆 代码,需要配置 config
文件。Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。