生成 SSH 公钥

大多数 Git 服务器都会选择使用 SSH 公钥来进行授权。系统中的每个用户都必须提供一个公钥用于授权,没有的话就要生成一个。生成公钥的过程在所有操作系统上都差不多。 首先先确认一下是否已经有一个公钥了。SSH 公钥默认储存在账户的主目录下的 ~/.ssh 目录。进去看看:

$ 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 包里:

$ 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 文件的内容然后发邮件给管理员。公钥的样子大致如下:

$ 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

最新文章

  1. viewPager + fragment
  2. ios基础篇(二十四)—— 文字、图片的绘制及其自定义Button
  3. fzu2172 字符串dp
  4. (四)play之yabe项目【页面】
  5. nginx配置入门
  6. WIN7(VISTA)系统无法上网问题排查方法
  7. Asp.net最基本的文件上传功能代码
  8. vc列表控件的初始化
  9. 7 个基本的 JS 函数【译】
  10. Shell的那些事儿
  11. FZU2138-久违的月赛之一
  12. c++ 资源索引
  13. 【OpenMesh】Some basic operations: Flipping and collapsing edges
  14. less函数
  15. 设计模式——原型模式(C++实现)
  16. 爬虫利器 Puppeteer 实战
  17. 区别:ASP.NET MVC的Model、DTO、Command
  18. Tarjan求强连通分量 缩点
  19. SDN+DPI文献阅读
  20. android ReactNative之Cannot find entry file index.android.js in any of the roots

热门文章

  1. Python之路Day19-Django(二)
  2. MSSQL FOR MXL PATH 运用(转载)
  3. Linux高级编程--04.GDB调试程序(设置断点)
  4. OpenGL笔试题
  5. TI CC2541的GPIO引脚设置.
  6. 一个表格说明RelativeLayout中的几个重要属性【Written By KillerLegend】
  7. 微软Azure开始支持Docker技术
  8. python(4)-迭代器 和 生成器
  9. 安装php时,make test报错
  10. C++ Primer 笔记 第一章
  11. 前端学习_01_css网页布局
  12. freemarker报错之十
  13. windows环境下搭建RocketMQ
  14. conda-使用手册
  15. Bootstrap(2) 排版样式
  16. Python 中的深拷贝和浅拷贝
  17. C# 地磅串口编程
  18. Hive设置变量
  19. 简单通俗讲解DOM
  20. ASP.NET.Identity 加密算法