赞
踩
目录
许多 Git 服务器都使用 SSH 公钥进行认证。 为了向 Git 服务器提供 SSH 公钥,如果某系统用户尚未拥有密钥,必须事先为其生成一份。 这个过程在所有操作系统上都是相似的。
首先,你需要确认自己是否已经拥有密钥。
默认情况下,用户的 SSH 密钥存储在其 ~/.ssh
目录下。 进入该目录并列出其中内容,你便可以快速确认自己是否已拥有密钥:
- $ cd ~/.ssh
- $ ls
- authorized_keys2 id_dsa known_hosts
- config id_dsa.pub
C:\Users\administrartor\.ssh
这个 administrartor 可能是你电脑的用户名。
我们需要寻找一对以 id_dsa
或 id_rsa
命名的文件,其中一个带有 .pub
扩展名。 .pub
文件是你的公钥,另一个则是与之对应的私钥。 如果找不到这样的文件(或者根本没有 .ssh
目录),你可以通过运行 ssh-keygen
程序来创建它们。 在 Linux/macOS 系统中,ssh-keygen
随 SSH 软件包提供;在 Windows 上,该程序包含于 MSysGit 软件包中。
如果有这两个文件,说明公钥已经创建好了,如果没有则需要创建:
ssh-keygen -t rsa -C "youremail@youremail.com"
或者
ssh-keygen -o
首先 ssh-keygen
会确认密钥的存储位置(默认是 .ssh/id_rsa
),然后它会要求你输入两次密钥口令。 如果你不想在使用密钥时输入口令,将其留空即可。 然而,如果你使用了密码,那么请确保添加了 -o
选项,它会以比默认格式更能抗暴力破解的格式保存私钥。 你也可以用 ssh-agent
工具来避免每次都要输入密码。
1. 执行这条命令会如上图提示文件保存路径,可以直接按Enter;
2. 然后提示输入 passphrase(密码),输入两次(可以不输直接两次Enter);
3. 然后会在 .ssh 目录生产两个文件:id_rsa和id_rsa.pub
cat ~/.ssh/id_rsa.pub
或者复制 id_rsa.pub 文件里面的内容,然后通过邮件或者其他方式发送给对应服务器。
公钥一般看起来是这样的:
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAklOUpkDHrfHY17SbrmTIpNLTGK9Tjom/BWDSU
GPl+nafzlHDTYW7hdI4yZ5ew18JH4JW9jbhUFrviQzM7xlELEVf4h9lFX5QVkbPppSwg0cda3
Pbv7kOdJ/MTyBlWXFCR+HAo3FXRitBqxiX1nKhXpHAZsMciLq8V6RjsNAQwdsdMFvSlVK/7XA
t3FaoJoAsncM1Q9x5+3V0Ww68/eIFmb1zuUFljQJKprrX88XypNDvjYNby6vw/Pb0rwert/En
mZ+AW4OZPnTPI89ZPmVMLuayrD2cE86Z/il8b+gw3r3+1nKatmIkjn2so1d01QraTlMqVSsbx
NrRFi9wrf+M7Q== schacon@mylaptop.local
复制公钥到 GitHub/Gitlab/Gitee上,一般这一步操作都是一样的,我们以 GitHub为例:
1. 点击 Settings
2. 点击 SSH and GPG keys
在 SSH keys 这个地方,点击 New SSH key,粘贴刚才复制的公钥即可,title可填不填。
打开你的 Git 客户端,输入:
ssh -T git@github.com
验证公钥配置是否成功。
后面的 but GitHub does not provide shell access. 不用管它。这种情况代表你 SSH 配置成功,可以通过 SSH 方式连接对应的GitHub上的项目了。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。