大多数 Git 服务器都会选择使用 SSH 公钥来进行受权。系统中的每一个用户都必须提供一个公钥用于受权,没有的话就要生成一个。生成公钥的过程在全部操做系统上都差很少。 首先先确认一下是否已经有一个公钥了。SSH 公钥默认储存在帐户的主目录下的 ~/.ssh
目录。进去看看:git
$ cd ~/.ssh $ ls authorized_keys2 id_dsa known_hosts config id_dsa.pub
关键是看有没有用 something
和 something.pub
来命名的一对文件,这个 something
一般就是 id_dsa
或 id_rsa
。有 .pub
后缀的文件就是公钥,另外一个文件则是密钥。假如没有这些文件,或者干脆连 .ssh
目录都没有,能够用 ssh-keygen
来建立。该程序在 Linux/Mac 系统上由 SSH 包提供,而在 Windows 上则包含在 MSysGit 包里:github
$ ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/Users/schacon/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /Users/schacon/.ssh/id_rsa. Your public key has been saved in /Users/schacon/.ssh/id_rsa.pub. The key fingerprint is: 43:c5:5b:5f:b1:f1:50:43:ad:20:a6:92:6a:1f:9a:3a schacon@agadorlaptop.local
它先要求你确认保存公钥的位置(.ssh/id_rsa
),而后它会让你重复一个密码两次,若是不想在使用公钥的时候输入密码,能够留空。服务器
如今,全部作过这一步的用户都得把它们的公钥给你或者 Git 服务器的管理员(假设 SSH 服务被设定为使用公钥机制)。他们只须要复制 .pub
文件的内容而后发邮件给管理员。公钥的样子大体以下:ssh
$ cat ~/.ssh/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@agadorlaptop.local
关于在多个操做系统上设立相同 SSH 公钥的教程,能够查阅 GitHub 上有关 SSH 公钥的向导:http://github.com/guides/providing-your-ssh-key
。ide