服务器上的 Git - 生成 SSH 公钥
目录概述一、生成 SSH 公钥1. Linux 系统2. Windows 系统二、发送公钥三、 复制公钥四、 验证 SSH参考文章概述许多 Git 服务器都使用 SSH 公钥进行认证。 为了向 Git 服务器提供 SSH 公钥,如果某系统用户尚未拥有密钥,必须事先为其生成一份。 这个过程在所有操作系统上都是相似的。一、生成 SSH 公钥首先,你需要确认自己是否已经拥有密钥。1. Linux 系统默
目录
概述
许多 Git 服务器都使用 SSH 公钥进行认证。 为了向 Git 服务器提供 SSH 公钥,如果某系统用户尚未拥有密钥,必须事先为其生成一份。 这个过程在所有操作系统上都是相似的。
一、生成 SSH 公钥
首先,你需要确认自己是否已经拥有密钥。
1. Linux 系统
默认情况下,用户的 SSH 密钥存储在其 ~/.ssh
目录下。 进入该目录并列出其中内容,你便可以快速确认自己是否已拥有密钥:
$ cd ~/.ssh
$ ls
authorized_keys2 id_dsa known_hosts
config id_dsa.pub
2. Windows 系统
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可填不填。
四、 验证 SSH
打开你的 Git 客户端,输入:
ssh -T git@github.com
验证公钥配置是否成功。
后面的 but GitHub does not provide shell access. 不用管它。这种情况代表你 SSH 配置成功,可以通过 SSH 方式连接对应的GitHub上的项目了。
参考文章
更多推荐
所有评论(0)