最近换了台新电脑, MacBook pro,拿到新电脑之后小小心喜了一下(终于解脱windows的束缚拥抱mac啦), 然后就开始苦逼的安装各种开发环境了. 之前在windows上使用tortoiseGit作为git客户端,使用putty作为ssh代理工具获取公司自己搭建的私有git服务器上, putty下的秘钥文件格式为*.ppk,这样在拉取项目时只需要手动添加ppk到putty中就行了. 然而并没有mac版的torisegit,决定选用sourcetree作为git客户端,但sourcetr…
搭建完成Git服务器后,需要使用两台机器进行测试,一台机器作为服务器端server,一台服务器作为客户端client.整个系统,需要三个计算机账户,这里假设server端的账户名为git,client端需要一个管理员gitadmin,一个开发者gituser.这里的环境,使用两台处于同一局域网内的两台机器作为server以及client,其中server端系统为debian 6,client端为fedora 16.1    建立server端账户git,用于安装git相关的服务. sudo us…
指令:ssh username@server.address.com 事例:wangmingdeMacBook-Pro:~ xxxxxxxxxx$ ssh root@XXXX.net The authenticity of host 'xxxx.net (xxx.xxx.xxx.xxx)' can't be established. RSA key fingerprint is 13:82:21:f3:47:ac:15:44:f5:d0:c4:65:a0:5c:cc:06. Are you su…
一.Git 协议 Git 可以使用四种主要的协议来传输数据:本地传输,ssh 协议,Git 协议和 HTTP 协议. Git 使用的传输协议中最常见的就是 ssh 了.大多数环境已经支持通过 ssh 对服务器的访问 ,ssh 也是唯一一个同时支持读写操作的网络协议.另外两个网络协议(HTTP 和 Git)通常都是只读的.ssh 同时也是一个验证授权的网络协议:而因为其普遍性,一般架设和使用都很容易. 本文主要介绍如何搭建 ssh 协议的 Git 服务器. 二.在服务器上部署 Git 首先,你需要…
SSH(Secure Shell)是一种工作在应用层和传输层上的安全协议,能在非安全通道上建立安全通道.提供身份认证.密钥更新.数据校验.通道复用等功能,同时具有良好的可扩展性.本文从SSH的架构开始,教你纯手工打造SSH服务端,顺便再教你如何利用SSH服务端实现Git服务端协议. 目录 SSH架构 建立传输层 交换版本信息 报文结构 算法 算法选择 密钥交换 密钥更新 使用算法 数据包封装 身份认证 使用连接层服务 实现Git服务端协议 打个广告 一.SSH架构 SSH 1.x协议已经过时,当…
近期将办公电脑从windows换成了mac,以前一直用windows,在windows下面将代码同步到远程的开发机,zend studio有一些内置的工具,但mac下的zend stduio没有了这个工具.而sublime一些同步插件太难用,于是网上搜索,自己来实现同步. 1,在mac上面后台运行一个脚本,原理就是用mac的fswatch命令检测目录内文件的变化,然后通过rsync命令同步变化的文件到远程开发机,代码如下: PWD="/Users/huangxuan01/Desktop/baid…
1.本地协议(loacl) 最基本的协议,其远程仓库其实就是硬盘内部的一个目录(例如D:\\project).常见于团队内的人对一个共享的文件系统(例如NFS)具有访问权限,或者多人共用一台电脑的情况. 当搭建好硬盘上面的远程仓库之后,可以使用 git clone /d/project 来克隆本地的远程仓库. 还可以使用带file协议的路径: git clone file:///d/project 克隆本地远程仓库. 区别:1.仅指定路径:Git尝试使用硬链接(hard link)或直接复制所需…
如何安装Git?这个我这里就不再多说了,想要了解的可以自行百度,以下文字是基于本地Git安装OK,且Git服务器可用的情况下,我的Git是GitLab 接下来开始操作 1:首先在本地生成私钥和公钥,这个可以通过Git Gui来生成 我这里Generate Key是灰色的,因为我已经生成了,第一次默认是没有的,可以点击生成,生成后如下图所示在个人用户的文件下的ssh文件夹下会生成公钥和私钥 2:配置Git服务器添加SSH keys 把上一步中生成的公钥添加到Git中,每一个用户对应自己的公钥和私钥…
其实特别简单 在本地命令执行目录/usr/local/bin 下新建一个shell脚本 比如 #vim ssh1 写入要执行的内容连接SSH #!/usr/bin/expect -f set user "服务器用户名一般为root" set host "IP地址" set password "服务器密码双引号内特殊字符需要转义" set timeout -1 spawn ssh $user@$host expect "*assword:…
1.ssh-keygen.exe 生成公钥私钥(.pub) 2.ssh-agent.exe bash  指定工具 3.ssh-add.exe   ****   添加私钥 OK…
github上一般托管的代码都是公开的,任何人都可以查看.复制下载等,而私有的项目则需要付费.所以可以自己搭建一个git服务,自己人用. 首先安装git: sudo apt-get install git 安装完之后,就去创建一个裸的仓库 git init --bare xxdir.git(指定裸仓库路径,习惯以.git结尾) #创建一个裸的git仓库 注意:要区别git init 和 git init --bare的区别: git init 是用来创建一个仓库,用来存放项目源代码的地方.git…
准备 CentOS Linux release 7.0.1406 (Core) ssh 22端口 http 80端口 本文主要是ssh协议支持,http协议配置后还有问题. 摘抄的一段说明 SSH 协议 架设 Git 服务器时常用 SSH 协议作为传输协议. 因为大多数环境下已经支持通过 SSH 访问 —— 即时没有也比较很容易架设. SSH 协议也是一个验证授权的网络协议:并且,因为其普遍性,架设和使用都很容易. 通过 SSH 协议克隆版本库,你可以指定一个 ssh:// 的 URL: $ g…
1.购买云服务器(http://www.aliyun.com/?spm=5176.3047821.1.1.vHFBuw) 注册帐号,在产品页面选择合适的服务器,进入详细页面选择配置,购买. 购买完成后进入管理控制台——云虚拟主机.ECS云服务器查看服务器状态. 2.注册域名.阿里云也提供域名注册和购买的功能,输入域名查询后购买即可.(国内注册域名后需要网络备案,备案操作和流程在阿里云里面有教程,有点麻烦) 3.域名解析.进入管理控制台——云解析,选择已注册的域名,点击后面的"解析"按钮…
1.ssh key 已经添加ssh key到gerrit服务器,并且执行ssh协议的git clone可以正常克隆代码到本地,可见不是ssh key的问题. 2.manifest清单文件配置 最初在manifest清单文件中配置: <remote name="origin" fetch="ssh://git@ip:29418"/> 或者: <remote name="origin" fetch="ssh://ip:29…
当使用svn+ssh协议连接svn服务器时,ssh会提示请求认证,由于不是svn客户端程序来完成ssh的认证,所以不会缓存密码. 而svn客户端通常会建立多个版本库的连接,当密码没有缓存的时候,就会重复不断的提示输入密码. 解决办法是在TortoiseSVN的网络设置里指定SSH客户端使用TortoisePlink.exe并增加-pw password参数和-l username参数. 最终的命令行如下: “C:Program Files\TortoiseSVN\bin\TortoisePlin…
在实际工作中遇到了三种不同SSH协议登陆Linux服务器的方式,由简单到复杂分别阐述:一.最简单也是最不安全的root账号密码登陆通过root账号+root密码登陆Linux服务器. 二.普通用户登陆通过普通用户登陆到服务器上,如果要使用sudo的权限就需要切换到root账号上去. 三.公钥私钥免密码的方式登陆把本地主机公钥输入到被登陆的服务器上,这个是最常见,也是最保险的免密码登陆方式,不过如果是要登陆多台服务器的话就相对比较麻烦,需要多次添加本地主机的公钥到服务器上去. 以上三种方式都是和S…
本来费了老鼻子牛劲搭好了SVN,可以通过web进行访问,也弄好了eclipse和XCode,结果几个开发的同事说要上git,悲了个催,又开始折腾git. 因为公司只有一个公网的http出口,因此开始了web上的git之路.目标是通过web在公司内部的git服务器上进行代码管理,必须实现简单的权限设置(指定的人才能读写).因为一开始就奔web去,结果半桶水荡啊荡的,发现怎么都搞不定.因此悟出了个道理,研究一个东西,不管目标是什么,一定得从头开始,而且必须一个一个动手试,这样才能理解基础知识,否则过…
前言: 虽然说在团队开发的时候会有版本控制服务器,但是个人自己开发的时候,有的时候也需要有个版本控制下,比如,你改好了一个小的功能,然后在这个功能上继续扩展,结果扩展不成功,于是回到这个小功能上去.当然还是有版本控制更好啦. 我决定采用git 来做个人的版本控制. 网上查了一堆的资料,可以还是有些实际操作过程中的奇葩问题,故决定重新整理一下 准备工作: 准备一下需要安装的软件: 1.Git-2.9.2-64-bit.exe  下载:https://git-scm.com/download/ 2.…
作为对前两天Git服务器搭建的一个整理,我想分别从服务端和客户端两个角度来记录下整个搭建过程,为了达到目标,我们需要哪些操作. (一)服务端软件和账号的安装配置 我们这里只需要两个软件git和ssh,软件版本如下,这两个版本的安装也是非常简单,基本只要注意一点即可:安装目录最好不要用默认路径,确保安装路径中没有空格.其他步骤基本一路Next即可. Git-1.8.1.2-preview20130201.exe Copssh_4..0_Installer.exe 安装完成后,我们要做个关联,主要是…
Windows下Git服务器搭建   作为对前两天Git服务器搭建的一个整理,我想分别从服务端和客户端两个角度来记录下整个搭建过程,为了达到目标,我们需要哪些操作. (一)服务端软件和账号的安装配置 我们这里只需要两个软件git和ssh,软件版本如下,这两个版本的安装也是非常简单,基本只要注意一点即可:安装目录最好不要用默认路径,确保安装路径中没有空格.其他步骤基本一路Next即可. Git-1.8.1.2-preview20130201.exe Copssh_4.1.0_Installer.e…
SSH 是 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定:是建立在应用层基础上的安全协议. SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议.利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题. 现在大多数 Git 托管平台除了使用 HTTPS 协议连接用户外,还会选择更加安全的 SSH 协议来进行 Git 服务器与用户之间的授权. 检查现有的SSH 为了向 Git 服务器提供 SSH 公钥,用户需要有…
设置 SSH Key 登录服务器 通过 ssh 登录服务器,一直都是用的账号和密码,今天看到一篇文章说这样不安全,使用 ssh key 的方式登录则是更好的选择,因此,研究实践了一下,并记录在这里. Ssh key 的基本原理是这样的:在你的本机上创建两个Key文件,一个是私钥,一个是公钥,私钥放在本地,公钥放在远程服务器.当你通过ssh key登录到远程服务器时,远程服务器使用公钥创建了一个加密的随机消息,然后发送到本地机器,本地机器使用私钥解密消息,发送解密的消息到远程服务器.远程服务器验证…
在mac下使用securecrt通过ssh连接远程服务器时,总会一段时间没有动作后,ssh被自动断开.在windows下用xmanager貌似没有遇到过这个问题. 在网上找了解决方法如下: 客户端配置: Global.ini文件中将D:"Disconnect After Resume Timeout"=00000000改为D:"Disconnect After Resume Timeout"=FFFFFFFF securecrt界面上配置:send string \…
问题描述 由于TortoiseGit没有MAC版本,我们使用了SourceTree来替代. 在帮同事解决Mac下的Git的时候,碰到一个问题:SourceTree无法使用ssh方式提交代码,这是由于没有把公钥对应的私钥提交到ssh,远程服务器端无法通过ssh的密钥验证. 解决步骤 Step1:在用户目录下创建.ssh文件夹 Step2:生成公钥和私钥 命令:ssh-keygen -t rsa Step3:创建cofig文件(任意名称),存放以下内容 Host mygit    HostName …
第一步 生成对应的ssh key 1 后面输入你的用户名 或者 邮箱 2 输入一个独立的ssh key名字 区别之前的名字 第二步  编辑 config文件 在.ssh/目录下面 在config文件配置如下信息  对照你自己的远程git服务器域名 以及 本地生成sshke私钥名 以及 git用户添加 Host *.xxxxx.com IdentityFile   ~/.ssh/id_rsa_xxx User git 第三步 添加ssh key 到你的git服务 ~ 第四步 添加成功后 正常用ss…
Git——The stupid content tracker(傻瓜内容跟踪器) Git是Linux的缔造者Linus Torvalds为了帮助管理Linux内核源码而开发的一款免费.开源的分布式版本控制系统.分布式Git相比集中式CVS/SVN的最大区别在于开发者可以提交到本地,每个开发者通过克隆(git clone),在本地机器上拷贝一个完整的Git仓库.如果用CVCS的话,差不多所有操作都需要连接网络:Git中的绝大多数操作都只需要访问本地文件和资源,由于本地磁盘上就保存着所有当前项目的历…
Mac下如何连接linux服务器(SSH) 1.用mac自带终端连接 步骤如下: 打开终端,在顶部shell菜单中选择新建远程连接 在右侧服务器窗口点击+号,添加服务器,输入IP等信息 输入用户名,点击连接 在打开的终端窗口中会询问你是否确认连接,输入yes回车 输入密码,连接成功 发现用自带终端连接,每次都要输入密码,不像Xshell可以方便的对连接进行保存和复制等等管理 2.使用Core Shell连接 可以在appstore中下载 界面交互优秀 可以保存密码 可以上传/下载文件 ....还…
最近忙得忘乎所以,写篇博客放松放松,RT,直接上命令好了 # Local ssh-keygen -t rsa scp ~/.ssh/id_rsa.pub username@server:~/.ssh/ vi ~/.ssh/config 加入: Host nickname #别名,域名缩写 HostName XX #完整的域名 User XX #登录该域名使用的账号名 IdentityFile ~/.ssh/id_rsa #私钥文件的路径 # Server cat ~/.ssh/id_rsa.pu…
centos服务器下搭建git仓库,使用ssh协议管理仓库代码权限    git官网(http://git-scm.com/) 使用ssh协议: 一.安装git,使用yum install git 或者使用 源码包安装git-2.2.0.tar.gz(https://www.kernel.org/pub/software/scm/git/) 新建git用户与用户组 # useradd git # passwd git 二,新建git仓库(仓库位置自己随用户自己决定,例/var/git/testp…
windows里有个Xshell非常的方便好使,因为它能保存你所有的ssh登录帐号信息.MAC下并没有xshell,有些也提供这样的功能,但效果都不好.iterm2是很好的终端,但却不能很好的支持多profiles,当要管理的机器较多时,就比较麻烦了.好在它有profiles设置,只是不能保存ssh登录帐号及密码,它还提供了加载profiles时执行外部命令的功能,因此,这里就可以使用sshpass来帮它执行. 安装iterm2 直接到官网下载安装: http://iterm2.com/,mac…