Openstack贡献者须知 — OpenPGP/SSH/CLA贡献者协议

目录

  • 目录
  • 前言
  • Openstack基金委员会
  • Openstack贡献者须知
    • 注册Openstack In Launchpad
    • 生成并上传OpenPGP密钥
    • 生成并上传SSH公钥
    • Join The OpenStack Foundation
    • 签署CLA贡献者协议
  • 参考资料

前言

由Openstack基金委员会管理的Openstack社区,现在已经成为了全球第二大开源社区仅次于Linux社区,所以也有人将Openstack定义为下一个Linux。就从我个人角度出发,我认为Openstack和Linux不属于同一类事物,所以不具有继承性和可比性。但无论怎样都好,如果想成为Openstack这一个方向的专家的话,加入Openstack社区是必不可少的一步。

Openstack基金委员会

Openstack基金委员会的主要工作:

  • 管理Openstack的开发流程、版本发布
  • 管理Openstack开发者、用户、社区生态体系
  • 收集用户需求
  • 商标管理
  • 社区事务管理(summit meetup)
  • 法律问题

Openstack基金会成员类型:

  • 技术委员会:负责Openstack代码管理、项目质量把握
  • 董事委员会:决定了Openstack未来发展的方向,有铂金会员、黄金会员、个人会员等几个级别
  • 用户委员会:收集不同的用户对Openstack的需求

Openstack贡献者须知

注册Openstack In Launchpad

Launchpad是Ubuntu的亲妈Canonical所资助的网站,是一个提供维护、支持或连络Ubuntu或相关开发者的Web平台,在这个平台上还可以使用汇报机制来报告相关软件的Bug,或进一步提供建议。

Launchpad中包含了Openstack Project Group托管了Openstack的所有项目 —— Openstack In Launchpad

注意:我们可以通过电子邮箱来注册Launchpad的账号,注意在选择LaunchpadID时要慎重,这是不可修改的。点这里 进入Launchpad。

在Openstack in Launchpad中你能得到什么帮助?

  • 很方便跳转到Openstack相关的网站

  • 常见问题的答案

  • 了解最新的Bugs reported

  • 最新的Openstack blueprints

  • 上传一个自己遇见的BUG,提出自己的问题

生成并上传OpenPGP密钥

在注册Launchpad完成之后,需要设置OpenPGP密钥,并上传SSH公钥,来保证往后在Launchpad上进行操作的安全性。

注意:一下的步骤必须使用Ubuntu才能完成。

OpenPGP:Pretty Good Privacy(PGP)是一个提供加密和认证的计算机程序。PGP经常被用于签名、加密和解密电子邮件,以增加电子邮件通信的安全性。

Introducing OpenPGP keys:

An OpenPGP (also called GnuPrivacyGuard) key allows you to sign documents, such as emails or text files, using a digital key.

There are two parts to an OpenPGP key:

one public that you share with the world and the other private, which you should guard closely. Both are standard text files that make up a digital signature.

为什么要在Launchpad中使用OpenPGP

In Launchpad, you can use your OpenPGP key to identify yourself when using the bug tracker’s email interface, when uploading distribution packages and when signing a code of conduct.

简单来说, 就是Launchpad需要使用数字签名来确认我们所作的工作是否为自己的操作。 如果上传了一个源码包到Launchpad, 系统必须在接受这个源码包之前确认你的身份。

在Ubuntu中创建一个OpenPGP Key

  • 方式一:使用Passwords and Encryption Keys tool来创建OpenPGP Key。

    可以直接通过GUI打开 ==> 安装sudo apt-get install seahorse ==> seahorse启动Passwords and Encryption Keys

    • Create the OpenPGP Keys

    • 等上一段时间,在PGP密钥选项卡能找到新建的OpenPGP Key

  • 方式二:也可以直接通过指令行来完成创建和上传OpenPGP key
    • 创建:gpg --gen-key
[email protected]:~/桌面$ gpg --gen-key
gpg (GnuPG) 1.4.16; Copyright (C) 2013 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

请选择您要使用的密钥种类:
   (1) RSA and RSA (default)
   (2) DSA and Elgamal
   (3) DSA (仅用于签名)
   (4) RSA (仅用于签名)
您的选择? 1                              #选择默认的(RSA and DSA)Key type 就可以
RSA 密钥长度应在 1024 位与 4096 位之间。
您想要用多大的密钥尺寸?(2048)              #Key size,默认为(currently 2048),4096会更安全
您所要求的密钥尺寸是 2048 位
请设定这把密钥的有效期限。
         0 = 密钥永不过期
      <n>  = 密钥在 n 天后过期
      <n>w = 密钥在 n 周后过期
      <n>m = 密钥在 n 月后过期
      <n>y = 密钥在 n 年后过期
密钥的有效期限是?(0) 0                    #0 = 密钥永不过期
密钥永远不会过期
以上正确吗?(y/n) y

您需要一个用户标识来辨识您的密钥;本软件会用真实姓名、注释和电子邮件地址组合
成用户标识,如下所示:
    “Heinrich Heine (Der Dichter) <[email protected]>”

真实姓名: fanguiju
电子邮件地址: [email protected]163.com
注释: This is LaunchPad OpenPGP key
您选定了这个用户标识:
    “fanguiju (This is LaunchPad OpenPGP key) <[email protected]163.com>”

更改姓名(N)、注释(C)、电子邮件地址(E)或确定(O)/退出(Q)? o
您需要一个密码来保护您的私钥。

我们需要生成大量的随机字节。这个时候您可以多做些琐事(像是敲打键盘、移动
鼠标、读写硬盘之类的),这会让随机数字发生器有更好的机会获得足够的熵数。               #需要一些时间来创建Key,期间由于程序需要一些随机数, 你需要尽量的进行一些操作,比如移动鼠标或者点击键盘

随机字节不够多。请再做一些其他的琐事,以使操作系统能搜集到更多的熵!
(还需要201字节)
..+++++
.........+++++
我们需要生成大量的随机字节。这个时候您可以多做些琐事(像是敲打键盘、移动
鼠标、读写硬盘之类的),这会让随机数字发生器有更好的机会获得足够的熵数。

随机字节不够多。请再做一些其他的琐事,以使操作系统能搜集到更多的熵!
(还需要92字节)
..+++++

随机字节不够多。请再做一些其他的琐事,以使操作系统能搜集到更多的熵!
(还需要128字节)
..............+++++
gpg: 密钥 B88FA626 被标记为绝对信任
公钥和私钥已经生成并经签名。

gpg: 正在检查信任度数据库
gpg: 需要 3 份勉强信任和 1 份完全信任,PGP 信任模型
gpg: 深度:0 有效性:  3 已签名:  0 信任度:0-,0q,0n,0m,0f,3u
pub   2048R/B88FA672 2016-07-15
      密钥指纹 = AA32 3EBD 1FBF 11F6 9B3C  9F44 3F53 EDE7 B88F XXXX
uid                  fanguiju (This is LaunchPad OpenPGP key) <[email protected]163.com>
sub   2048R/05B876C1 2016-07-15

#到处Key创建成功B88FA672为KeyID。 指纹为AA32 3EBD 1FBF 11F6 9B3C  9F44 3F53 EDE7 B88F XXXX
  • 上传你的OpenPGP key到Ubuntu keyserver
gpg --keyserver keyserver.ubuntu.com --sendkeys <KeyID>
  • 在Launchpad上填写密钥指纹来匹配Key

    在匹配成功后Launchpad会发送一封邮件给你,邮件包含了你的密钥和接触密钥的方法。

  • 在本地验证OpenPGP key

    首先需要将邮件中给出的key的内容存放到一个文件中,EG. gpgkey

    注意:需要存放-----BEGIN PGP MESSAGE-----开始,到-----BEGIN PGP MESSAGE-----结尾的全部内容。

[email protected]:~$ gpg -t 桌面/gpgkey 

您需要输入密码,才能解开这个用户的私钥:“fanguiju (This is Launchpad openpgp keys) <fan_guiju@163.com>”
2048 位的 RSA 密钥,钥匙号 DD3FF8DC,建立于 2016-07-15 (主钥匙号 06E66903)

gpg: 由 2048 位的 RSA 密钥加密,钥匙号为 DD3FF8DC、生成于 2016-07-15
      “fanguiju (This is Launchpad openpgp keys) <fan_guiju@163.com>”
gpg: 桌面/gpgkey:未知的后缀名
请输入新的文件名 [-&38]: gpgkeyDecryption       #给出一个新文件名用于放解密的结果

1. OpenPGP操作手册

2. PGP Howto使用手册

生成并上传SSH公钥

为Gerrit设置SSH帐户。Gerrit是OpenStack的代码评审工具,用于保证贡献者贡献代码的质量。登陆OpenStack代码审查页面(使用Launchpad帐户登录),并上传SSH公钥。

SSH(Secure Shell),是一个允许你在网络上安全传输数据的协议。推荐使用SSH来进入另外一台服务器,以及传输文件。例如:我们会使用SSH来上传源码包到Launchpad。

  • 生成SSH Keygen
jmilkfan@JmilkFan-Openstack:~/桌面$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/jmilkfan/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/jmilkfan/.ssh/id_rsa.
Your public key has been saved in /home/jmilkfan/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:LjOkO8dlz5Vs42d3ZMXIr/Ur+uUdVRkJKzA6SzUqPAM jmilkfan@JmilkFan-Openstack
The key‘s randomart image is:
+---[RSA 2048]----+
|   E     =   ....|
|    o   + +   ..o|
|     = =   . o +.|
|      = o   . o +|
|      ..S  . . .o|
|     o .o   *   *|
|    ..+o.o + . B.|
|    ..o+  o ..* *|
|    .o     .o+.++|
+----[SHA256]-----+
jmilkfan@JmilkFan-Openstack:~/桌面$ cat /home/jmilkfan/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EBBBBDAQABAAABAQDKfshB2KlZn54XWtqXThJohsT1F5MNR9IPDzDfIRUIeLxhyW+sSzXQniQPJBO2QOFktIAPyNvK+hIPxE6BWwCKvNYWFVnQLZ9N9S9+EuCpDONFUJY5N+I8wxNXMRMwo0Rs5HEj8wEvV1C7c6TcxoZXbt1pc6n37dwiEFd9b4vs55aVHljFBxrjLnLa7nIyMlGHo444qAPR9962Y/iqPFqscbu/QsOFuXv2PrIsCPOaIqYfQQXOwHMKcU12jLAL4Zw6aFeW34SSReA3UJYjw0wvowSfBB8m1BXdo6fpzCuumcEdjPMKEPCkL8/vB46kBLWJg9gxmDn3h9BnwuiTUM+x jmilkfan@JmilkFan-Openstack
  • 点击右上角的UserName ==> Setting ==> SSH Public Keys选项卡,再根据提示将上述操作获取的SSH公钥Upload。

Join The OpenStack Foundation

The Mission

The OpenStack Foundation is an independent body providing shared resources to help achieve the OpenStack Mission by Protecting, Empowering, and Promoting OpenStack software and the community around it, including users, developers and the entire ecosystem.

Openstack Foundation有几种不同级别的账号,其中个人账号(Individual Member)是可以免费加入的。个人账号又分为社区成员基金会成员两种,对应拥有不同的权限。

一般而言,我们个人开发者更多的会申请基金会成员,因为需要签署CLA贡献者协议。

签署CLA贡献者协议

签署CLA贡献者协议的前提是你已经加入了Openstack Foundation。

Step1. Sign In Code Review(使用Launchpad Account to Sign In)

Step2. 签署贡献者协议。除非您是美国政府雇员,否则请同意ICLA(Individual Contributor License Agreement)并提供联系信息。你的所有姓名和电子邮件地址都是公开的。https://review.openstack.org/#/settings/agreements

填充信息并完成协议签署

注意:Launchpad的主要电子邮件地址需要与你的OpenStack Foundation Member身份设置的电子邮件地址相匹配。

Step3. 加入OpenStack Contributors Group。需要以会员身份提交代码更改。但这需要Team Administrator的确认才能够加入。如果你是以个人贡献者的身份工作的话,那么执行Step2就足够了。

参考资料

How do I make a PGP key?

向 OpenStack 贡献您的代码

如何使用Launchpad平台参与社区开发

加入ubuntu开源社区开发工作1-准备工作

“Cannot store contact Information” when updating info in OpenStack gerrit

时间: 2024-10-25 10:10:54

Openstack贡献者须知 — OpenPGP/SSH/CLA贡献者协议的相关文章

FTPS (FTP over SSL) vs. SFTP (SSH 文件传输协议): 我们如何做出选择

第一个RFC的FTP协议发布通过网络使用FTP协议(由RFC 959或更高版本)的文件传输始于1980年,FTP提供上传,下载和删除文件,创建和删除目录,读取目录内容的功能.虽然FTP是非常受欢迎的,它有一些缺点,使其更难使用.主要的缺点是缺乏目录列表的统一格式(这个问题已经通过引入MLST命令部分解决,但是一些服务器不支持)和辅助连接(DATA连接)的存在.FTP中的安全性通过对RFC 2228中定义的信道加密采用SSL / TLS协议来提供.FTP的安全版本称为FTPS. 在UNIX系统中,

ssh(安全外壳协议)

SSH 为 Secure Shell 的缩写,由 IETF 的网络工作小组(Network Working Group)所制定:SSH 为建立在应用层和传输层基础上的安全协议.SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议.利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题.SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台.SSH在正确使用时可弥补网络中的漏洞.SSH客户端适用于多种平台.几乎所有UNIX平台—包括HP-UX.Linux.AIX.S

Linux -- Telnet、SSH和VNC协议的配置与应用

Telnet概述及配置 Telnet协议是TCP/IP协议族中应用最广泛的协议之一,提供一个以联机方式访问网际网上资源的通用工具,它允许用户与一个远程机器上的服务器进行通信,通过一个协商过程来支持不同的物理终端,从而提供了极大的灵活性.Telnet协议可以在任何主机(任何操作系统)或任何终端之间工作.各种操作系统都内置了Telnet协议的客户端软件,不需要安装,使用方便. Telnet的工作原理如图2.1所示. 当用Telnet登录进入远程计算机系统时,将启动两个程序,一个叫Telnet客户程序

openstack 主机无法ping通instance,无法ssh到instance

https://docs.openstack.org/zh_CN/user-guide/cli-nova-configure-access-security-for-instances.html 好不容易安装好了OpenStack,发现无法ping通instance,无法ssh到instance: 最后折腾了半天发现是security group的问题: Neutron 默认的安全组规则会禁止掉所有从外面访问 instance 的流量. 本节我们会修改安全组的配置,允许 ping 和 ssh i

Java 实现 SSH 协议的客户端登录认证方式--转载

背景 在开篇之前,让我们先对 SSH 协议有个宏观的大致了解,这样更有利于我们对本文的加深了解.首先要提到的就是计算机网络协议,所谓计算机网络协议,简单的说就是定义了一套标准和规则,使得不同计算机之间能够进行正常的网络通信,不至于出现在一台机器上发出的指令到另一台机器上成了不可认的乱码,SSH 就是众多协议的其中之一.经典的七层 OSI 模型(Open System Interconnection Reference Model)出现后,大大地解决了网络互联的兼容性问题,它将网络划分成服务.接口

SSH协议详解

转发的http://blog.csdn.net/macrossdzh/article/details/5691924 很透彻啊,学习了 一.什么是SSH SSH是英文Secure Shell的简写形式.通过使用SSH,你可以把所有传输的数据进行加密,这样"中间人"这种攻击方式就不可能实现了,而且也能够防止DNS欺骗和IP欺骗.使用SSH,还有一个额外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度.SSH有很多功能,它既可以代替Telnet,又可以为FTP.Pop.甚至为PPP

【Linux远程管理】SSH协议远程管理

SSH(Secure Shell)协议.命令行界面(CLI)下的远程管理工具,几乎所有的操作系统都有,区别于Telnet,SSH在进行数据传送时会对数据进行加密,所以SSH是比较安全的协议.几乎所有的类UNIX操作系统都是采用SSH来进行远程管理(Linux,BSD,Mac OS等). (1)绝大多数Linux版本默认使用的SSH是OpenSSH,通过ssh -V命令可以查看ssh的信息. (2)SSH分为服务器端和客户端,对于服务器端默认是开机启动的,作为常驻服务存在,可以通过 service

SSH协议基本认识

1.协议功能:在非安全网络上提供安全的远程登录和其他安全网络服务 2.协议运行在TCP/IP协议族的哪层:建应用层和传输层 3.协议提供的两种认证方式:(转自http://blog.sina.com.cn/s/blog_66ed268d01011jw3.html) SSH两种认证方式的特点 从客户端来看,SSH提供两种级别的安全验证. 第一种级别(基于口令的安全验证) 只要你知道自己帐号和口令,就可以登录到远程主机.所有传输的数据都会被加密,但是不能保证你正在连接的服务器就是你想连接的服务器.可

SSH 协议原理、组成、认证方式和过程[转]

https://www.jianshu.com/p/8e5b7aea52b5 概述 SSH是(Secure SHell protocol) 的简写,安全外壳协议(SSH)是一种在不安全网络上提供安全远程登录及其它安全网络服务的协议. OpenSSH 是SSH (Secure SHell)协议的免费开源实现.SSH协议族可以用来进行远程控制,或在计算机之间传送文件.而实现此功能的传统方式,如telnet(终端仿真协议). rcp ftp. rlogin.rsh都是极为不安全的,并且会使用明文传送密