生成密钥
ssh-keygen -m PEM -t ed25519 -C "your.email@example.com" # 创建新的 SSH 私钥与公钥秘钥对,输入你的邮箱作为标签
Enter file in which to save the key (/Users/you/.ssh/id_rsa): [Press enter] # 推荐使用默认地址
Enter passphrase (empty for no passphrase): # 此处直接回车即可;若设置密码,则每次使用 SSH 方式推送代码时都会要求输入密码
# 生成 rsa 密钥
# 在OpenSSH 8.8中已默认禁用 ssh-rsa 方式,因此建议使用 ed25519
ssh-keygen -t rsa -C "jalena@bcsytv.com"
密钥管理
不管在Windows还是Linux下,均可以使用~/.ssh/config
来配置密钥的管理
vim ~/.ssh/config
Host git*
HostName %h
IdentityFile %d/.ssh/id_rsa
Host e.coding.net
HostName %h
HostkeyAlgorithms +ssh-rsa
PubkeyAcceptedAlgorithms +ssh-rsa
IdentityFile %d/.ssh/git_rsa
Host codeup*
HostName %h
IdentityFile %d/.ssh/git_rsa
关于Rsa禁用
因OpenSSH8.8已经默认禁用ssh-rsa,所以在使用rsa方式的密钥时,需要为其手动开启ssh-rsa,参考上面的e.coding.net配置
Windows
将密钥文件存放至用户目录 ~\.ssh
使用密钥登陆必须使用git@这样的ssh协议才行,如果之前使用的是https协议的话,那么需要将协议修改为git@这样的ssh协议。
Mac & Linux
在Linux或Unix环境下,我们只需要将私钥文件放置到~/.ssh
目录下即可。
因Linux环境对文件权限的控制与Windows存在不同,所以你还需要使用chmod
为起设置权限。
修改仓库地址
$ git remote -v
origin https://github.com/demo/test.git (fetch)
origin https://github.com/demo/test.git (push)
# 替换协议为git
$ git remote set-url origin git@github.com:demo/test.git
添加密钥至GitEE
添加密钥至GitHub
测试
$ ssh -T git@gitee.com
Welcome to Gitee.com, jalena!
$ ssh -T git@github.com
Hi jalena! You've successfully authenticated, but GitHub does not provide shell access.
至此可以使用git@来管理项目
文章评论