博文

目前显示的是标签为“gitolite”的博文

使用SSH KEY

图片
在使用 git 时,如果使用 gitolite 架设的服务器时,需要用到 ssh key 来作验证,同时也是方便每次操作 git 库时免去输密码的麻烦。同样情况,我们在常用的服务器与客户端之间使用 SSH 访问时,也可以使用 ssh key 来验证登录身份,每次只需连接即可。 在 SSH 里提供了两种级别的安全验证,其中一种就是最常用的帐号密码登录方式,这种级别在内网倒没什么问题,如果是在外网,建议使用基于“公钥加密”机制的安全验证了,其采用了非对称加密方式,将公钥上传到服务器,每次从服务器获取数据时,服务器先用公钥将数据加密,然后客户端收到加密后的数据 包再使用相应的私钥解密还原数据,这样就可以保证密文在网络传输过程中的安全,即使有人劫获了密文,没有对应的密钥也是还原不了数据。 那么接下来还是看看如何使用吧! 1. 生成钥匙对 xinu@slam:~$ ssh-keygen -t rsa -C “ guochongxin@qq.com ” 使用上述命令生成钥匙对,其中 -t 表示钥匙对采用的加密类型为后面设置的 rsa , -C 是注释,说明这个 KEY 的用途等,这里使用邮箱主要是方便管理,说明这个 KEY 是谁的。 运行该命令后有如下内容输出: Generating public/private rsa key pair. Enter file in which to save the key (/home/xinu/.ssh/id_rsa): 这里按“回车”键确认生成的钥匙对保存在默认地址,接下来会提示如下: Enter passphrase (empty for no passphrase): 这里要求输入密码,如果回车表示密码为空,请按实际处理,输入密码后会提示再次输入确认: Enter same passphrase again: 输入并“回车”后会生成 KEY ,截图如下: 上述显示了该钥匙的私钥为 /home/xinu/.ssh/id_rsa ,公钥为 /home/xinu/.ssh/id_rsa.pub ,还有指纹及随机艺术图,该钥匙对文件以 ASCII 码形式保存,可随意打开查阅。 2. 多钥匙配置 当我们再次生成一把钥匙或从朋友那拿到一个服务器登录的私钥时,我们如何使用这...

搭建基于Gitosis权限管理的GIT服务器

现在越来越多的开源项目使用git来进行管理,而git是分布式的,没有严格的界限来区分客户端和服务器,而我们习惯上都需要有一台服务器来控制的,故而接下来的实验中会使用一台机器来作为服务器角色并在上面安装上Gitosis的权限管理系统(当然也可以使用Gitolite),此次我们的实验环境是VMware上面安装了Ubuntu的虚拟机1台(同时充当服务器和客户端),下面是整个实验过程的记录: 1.安装上git工具(服务器和客户端都须安装):     sudo apt-get install git-core 2.安装Gitosis(仅服务器上需要安装):     sudo apt-get install python-setuptools     mkdir ~/src     cd ~/src     git clone  https://github.com/res0nat0r/gitosis.git     cd gitosis/     sudo python setup.py install 3.创建一个git帐号(仅服务器上):     sudo adduser --system --shell /bin/sh --gecos 'git version control' --group --disabled-password --home /home/git git 4.生成SSH密钥对(仅客户端上):     ssh-keygen     命令执行过程中全部按“回车”键默认配置,最终会在~/.ssh目录下生成id_rsa和id_rsa.pub一对密钥。接下来将生成的id_rsa.pub公钥复制到服务器上(一般使用scp命令,由于我们在同一台机器,故该步省略) 5.将公钥导入初始化gitosis(在服务器上)     sudo -H -u git gitosis-...