Windows 用户建议使用 Windows PowerShell或者Git Bash,在命令提示符 下无 cat 和 ls 命令。
1、生成公钥文件:通过命令 ssh-keygen 生成 SSH Key:
ssh-keygen -t rsa -C"Gitee SSH Key"-f ~/.ssh/gitee_bealei_rsa ssh-keygen -t rsa -C"Github SSH Key"-f ~/.ssh/github_bealei_rsa -t key 类型-C 注释-f 指定用来保存密钥的文件名输出,如:
Bealei@Y7000 MINGW64 /d/Desktop $ ssh-keygen -t rsa -C"Gitee SSH Key"-f ~/.ssh/gitee_bealei_rsa Generating public/private rsa key pair. /c/Users/Administrator/.ssh/gitee_bealei_rsa already exists. Overwrite (y/n)? Bealei@Y7000 MINGW64 /d/Desktop $ ssh-keygen -t rsa -C"Gitee SSH Key"-f ~/.ssh/gitee_bealei_rsa Generating public/private rsa key pair. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /c/Users/Administrator/.ssh/gitee_bealei_rsa Your public key has been saved in /c/Users/Administrator/.ssh/gitee_bealei_rsa.pub The key fingerprint is: SHA256:zTjk4lQJkyjatPJa8fucucXVkBPtV4o2LWj3CkcLfW4 Gitee SSH Key The key's randomart image is: +---[RSA 3072]----+ | .o. .. | | o . .o . o. .| | + o + ++ o o | |o + + +++X = | | o o o S.+=.O | | o .o o o. o E | | o .. o o o | |. .. + . | | .*. | +----[SHA256]-----+ Bealei@Y7000 MINGW64 /d/Desktop $ ssh-keygen -t rsa -C"Github SSH Key"-f ~/.ssh/github_bealei_rsa Generating public/private rsa key pair. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /c/Users/Administrator/.ssh/github_bealei_rsa Your public key has been saved in /c/Users/Administrator/.ssh/github_bealei_rsa.pub The key fingerprint is: SHA256:LveFZoIaZF5OdMHtNf5hb7VaH+2dhqPXiOxuIFT2QJw Github SSH Key The key's randomart image is: +---[RSA 3072]----+ | .+o. | | .E. o | | . +.oo . | | . o ... o .| | o + S o o+| | + + + . . .++| | o + = * o *o=| | o o = = * ++| | . =+o o | +----[SHA256]-----+生成如下文件,其中gitee_bealei_rsa.pub为公钥,gitee_bealei_rsa为私钥:
2、读取公钥文件: cat ~/.ssh/gitee_bealei_rsa.pub输出,如:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAB********************Zm8= Gitee SSH Key复制终端输出的公钥。
cat ~/.ssh/github_bealei_rsa.pub输出,如:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAB********************Igs= Github SSH Key复制终端输出的公钥。
3、配置仓库公钥将生成的公钥,配置到gitee及github各自账户下
4、配置config文件在.ssh目录下新建config.txt文件,编辑配置内容如下,去掉后缀保存文件名为config
# gitee Host gitee.com HostName gitee.com PreferredAuthentications publickey IdentityFile ~/.ssh/gitee_bealei_rsa # github Host github.com HostName github.com PreferredAuthentications publickey IdentityFile ~/.ssh/github_bealei_rsa 5、测试连接在本地git 的命令行中测试连接两种仓库,连接成功
# gitee ssh -T git@gitee.com # github ssh -T git@github.com输出:
# gitee Bealei@Y7000 MINGW64 /d/Desktop $ ssh -T git@gitee.com Hi bealei(@bealei)! You've successfully authenticated, but GITEE.COM does not provide shell access. # github Bealei@Y7000 MINGW64 /d/Desktop $ ssh -T git@github.com Hi bealei! You've successfully authenticated, but GitHub does not provide shell access.