Chinaunix首页 | 论坛 | 博客
  • 博客访问: 469029
  • 博文数量: 95
  • 博客积分: 2117
  • 博客等级: 大尉
  • 技术积分: 2301
  • 用 户 组: 普通用户
  • 注册时间: 2008-06-16 21:10
个人简介

辽宁铁岭人,现居大连。1970年生。 先后供职于 中国国际海运网、大连学堂科技、大连华仁视线网络科技有限公司、大连中科海云科技有限公司,任职技术总监。 精通PHP、JAVA、Javascript、HTML、CSS等网络编程技术及Linux操作系统。 精通面向对象编程、设计模式、重构及互联网产品设计。

文章分类

全部博文(95)

文章存档

2013年(31)

2012年(2)

2011年(34)

2010年(25)

2008年(3)

分类: LINUX

2011-10-11 15:47:15

对应Mercurial服务器一文,客户端除了支持Windows平台外,当然还支持Linux或*nix类操作系统下命令行的Mercurial客户端操作;相对而言,有命令行癖好的童鞋们(the CLI geeks)会发现*nix下的ssh-agent + hg操作来得更简单。

本文介绍如何在Linux或*nix类的命令行工作台下,实现Mercurial客户端命令hg与mercurial-server的无密码输入安全连接。所用的主要工具是:ssh-agent。

1. 创建你的RSA密钥对 cd ~/. ssh-keygen -t rsa

然后,对自己系统用户密钥对存放目录.ssh的权限进行安全调整:

chmod 700 $HOME/.ssh chmod 600 $HOME/.ssh/id_rsa

注:下面操作假设你自己的系统用户的.ssh目录下保存的密钥对是:id_rsa(私钥)和id_rsa.pub(公钥)。

2. 把公钥发送给代码库管理员

从你的.ssh/目录下找到id_rsa.pub,发送给mercurial-server系统管理员。系统管理员确认已配置好你的用户-代码库权限。

3. 用ssh-agent缓存你的私钥

通过ssh-agent,你可将上述步骤中生成的私钥缓存到内存中,当Mercurial客户端命令hg与代码库服务器交互时,你的shell环境即可自动通过ssh-agent拿出你的RSA私钥,通过SSH2连接与服务器进行身份验证、加密/解密的操作。

启动ssh-agent:

eval $(ssh-agent)

把私钥交给ssh-agent缓存,因为是第一次操作密钥,系统会提示输入密钥安全密码:

ssh-add ~/.ssh/id_rsa

用hg命令直接与mercurial-server代码库进行交互。此时,系统不应该提示输入密钥安全密码。例如:把本地代码库用hg clone命令复制到服务器端(创建服务器端代码库,如果你有init权限的话):

hg clone myrepo ssh://hg@mycompany_hg_repo_host.com/myrepo

当你完成与代码库服务器交互操作后,可运行一下命令终止ssh-agent的运行:

ssh-agent -k
本文转载自 http://www.bookandman.com/mercurial-tutorial/mercurial-client-linux/
阅读(1241) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~