一 、工具安装
1.服务端工具:CopSSH、Git
2.客户端工具:TrotoiseGit、Git
(注:安装目录最好不要用默认路径, 确保安装路径中没有空格。 其他步骤一路Next即可。)
二 、服务配置
1. 安装完成后,我们要做个关联,主要是关联git和ssh,因为我们这里git要用ssh协议来连接服务器。操作方法是将git中的相关文件copy到ssh的bin目录中。
1. Git\bin\ libiconv-2.dll
2. Git\libexec\git-core\git.exe
3. Git\libexec\git-core\git-receive-pack.exe
4.Git\libexec\git-core\git-upload-archive.exe
5. Git\libexec\git-core\git-upload-pack.exe
将这些文件copy到CopSSH的bin目录下。
2.我们需要在服务器上创建个账号,普通账号即可,我这里创建了个普通账号叫git。
3.利用COPSSH Control Panel 创建一个ssh 账号:
如下图所示,我们选择刚刚创建的账号git
接下来这里注意下,Access type 的选择,还有 Allow password authentication没有勾选。
点击Apply,账号创建成功。
至此,服务器的配置已告一段落了,我们可以在服务器上创建个仓库,以备后续的连接测试。由于我们之前创建了一个叫git的账号,在ssh的安装目录下的home目录里面,多了一个git目录。
进入该目录,右键选择Git Bash,在命令行下,依次运行以下命令(如果右键没有git bash,在桌面或开始菜单中打开git bash 进入此目录)
1.mkdir myproject //创建我的项目目录,命名为myproject
2.cd myproject //进入该目录
3.touch helloworld.txt //创建helloworld.txt文件
4.git init //初始化仓库
5.git add . //目录下所有文件加入暂存区
6.git config --global user.email “xxxx@xxx.com” //创建全局git 账号
7.git config --global user.name “Jason Feng” //创建全局git账号
8.git commit -m “init myproject repo” //将暂存区的文件提交到仓库
9.git reset -- //将远程分支提交的代码合并的主分支。
注:Git默认设置克隆版本修改master版本内信息后不能提交修改,如需开放权限,要修改服务器端每个仓库 .git/config文件后面添加如下代码:
[receive]
denyCurrentBranch = ignore
注:重点在这一步,修改配置文件,找到COPSSH安装的目录下面的etc目录,比如C:\SSH\etc,用记事本打开ssh_config和sshd_config这两个文件,两个文件都要修改。
修改如下内容:
找到PasswordAuthentication,如果前面有#号,删掉,如果后面是yes,改成no
PasswordAuthentication no
找到PubkeyAuthentication,如果前面有#号,删掉,如果后面是no,改成yes
PubkeyAuthentication yes
找到Port 22,删除掉前面的#号
Port 22
三 、客户端配置
1.安装完成后,需要创建公钥对
主要用于与服务器短的链接。打开git bash 输入ssh-keygen命令,对后续命令行提示,一路回车即可。
2. 接下来,为了使服务器认识我们的公钥
我们需要将密钥对中的公钥上传至服务器,用记事本打开刚刚生成的公钥文件id_rsa.pub,复制里面的所有内容。
再回到服务器端,在我们之前创建的ssh的账号git对应的目录下home/git/.ssh,新建文件authorized_keys文件,注意这里没有文件后缀名,将刚刚复制的公钥粘贴进去,保存好。
注:以上1、2步骤是git 命令行公钥,tortoiseGit 工具创建公私钥请看4步骤。
最后,要确保服务器端口22是打开的。
至此,客户端相关配置基本完成。我们可以开始clone了,创建一个目录,然后Git Bash,运行以下命令:
//这里我的服务器地址为192.168.1.168
git clone ssh://git@192.168.1.168:22/ssh/home/git/myproject
3.接下来配置tortoiseGit管理工具:
先在TortoiseGit安装目录里面找到Settings,打开界面,找到General,点击“Check now”按钮,可以看到当前git版本。这时候说明,你的配置已经OK,可以开始进行下一步的操作了。Git.exe Path 为Git 文件夹下bin的目录。
在项目文件夹用鼠标右键点击,可以看到Git和TortoiseGit已经嵌入右键了,选择“Git Create repository here”,然后点击“OK”按钮,再点击“Proceed”,这样就会在项目文件中创建了一个“.git”的隐藏目录。
鼠标右键,选择“TortoiseGit”->“Settings”,在“User Info”输入Name和Email。
点击“Remote”,在Remote输入名称,URL输入Git的HTTPS或者SSH地址。点击“Add New/Save”按钮添加一个项目。
至此下载和安装配置TortoiseGit就完成了。
4.TortoiseGit中SSH密钥的配置方法
在安装了TortoiseGit的目标客户机上,如图运行TortoiseGit软件包中的Puttygen程序:
在PuTTY Key Generator应用对话框中选择Generate按钮:
出现如下图的进度条,将鼠标在Key选项框中空白处随意移动,进度条将行进:
移动鼠标直至进度条结束,出现如下画面:
选择Save private key,弹出如下对话框,选择是,保存私钥至private.ppk。
选择Save public key, 选择保存公钥至public.ppk,将public.ppk内容复制到服务器端authorized_keys文件中,格式必须相同。
配置SSH登录密钥,如图运行TortoiseGit软件包中的Pageant程序:
右键选择Windows桌面右下角(通知区域)的图标,出现如下菜单:
选择Add Key菜单栏,出现Select Private Key File文件选择框,选择之前生成的对应的私钥文件(.ppk)文件,配置完成。