ZKX
首页
分类
PHP
MySQL
登录/注册
在阿里云服务器上部署git
2019-11-05
77
0
操作系统:Linux ### 1.在服务器上安装git `# yum install git` ### 2.建立一个git用户组 建立用户组的目的在于对于这个git服务器,赋予多人访问权限时,可以统一管理 `# groupadd git` ### 3.在git用户组下建立一个用户 `# adduser zhangkaixing -g git` 执行这条命令之后,你发现在/home目录下多了一个`zhangkaixing`目录,按理来说,现在,你的系统中多了这个`zhangkaixing`用户,并且家目录在`/home/zhangkaixing`。但是,我们并不希望这个用户通过ssh连接到服务器上面去,所以,我们要禁止这个用户使用ssh连接上去进行操作。我们通过编辑一个权限文件来处理: `# vi /etc/passwd` 找到类似于 ```shell # zhangkaixing:x:1001:1001:,,,:/home/git:/bin/bash ``` 这样的行,你看到那个末尾的/bin/bash,就是允许ssh连接操作的权限,我们把它改为/user/bin/git-shell,结果如下: ```shell # zhangkaixing:x:1001:1001:,,,:/home/git:/user/bin/git-shell ``` 注意:这里的`/user/bin/git-shell`路径,需要根据你服务器的实际地址去做,因为有的服务器上是`/usr/bin/git-shell`这个路径 我们还得给zhangkaixing分配一个密码,执行: `# passwd zhangkaixing` ### 4.在客户端创建RSA密钥 `$ cd ~` `$ ssh-keygen -t rsa` 输入命令后会出现提示`Enter passphrase (empty for no passphrase):`这一步和下一步的确定需要直接回车,并且生成`~/.ssh/id_rsa`私钥和`~/.ssh/id_rsa.pub`公钥这两个文件。我们把`~/.ssh/id_rsa.pub`这个文件里的内容全部复制下来,然后进行下一步。 ### 5.在服务器上建立文件保存公钥 在保存公钥之前需要打开Git服务器RSA认证 # vim /etc/ssh/sshd_config // 找到下面3行并去掉注释 1. RSAAuthentication yes #这个东西不一定有,如果没有就自己加 2. PubkeyAuthentication yes 3. AuthorizedKeysFile .ssh/authorized_keys 然后重启sshd service sshd restart 之后才给用户添加ssh `$ cd /home/zhangkaixing/` `$ mkdir .ssh` `$ cd .ssh` `$ vi authorized_keys` 然后把key复制进authorized_keys 这个东西是解决每次与服务端交互都需要输入密码操作,比如在pull和push ### 6.在服务器创建一个名为git的仓库 我习惯把这类东西丢到/var下去,所以,我们在/var下面创建一个git目录 ```shell $ cd /var $ mkdir git $ chown -R zhangkaixing:git git $chmod 777 git $ cd git ``` 接下来,我们用git命令初始化一个仓库: `$ git init --bare arepoforyourproject.git` 这里有一个细节,就是.git目录必须要有可读写权限,因为当我们在push的时候,是使用git用户推送到服务器上面去,会有一个写入的过程,如果不赋予可写权限,push就会失败。 ### 7.在客户端克隆仓库 `$ git clone zhangkaixing@10.0.0.121:/var/git/arepoforyourproject.git` 然后会提示你输入git的密码,输入进去,然后会再提示你克隆了一个空白的版本库。这说明服务器已经OK了。 如果克隆的时候不管怎么输密码,都报`Permission denied, please try again.`这个问题。 1.git格式是否正确: 因为Git链接是ssh的格式是`git clone zhangkaixing(用户名)@127.0.0.1(服务器IP):/var...(git仓库地址)` 2.检查步骤三是否正确 ### 8.在客户端添加,提交,推送 ```shell $ git init //然后关联远程仓库 $ git remote add origin zhangkaixing(这是用户名)@IP(这是你服务器的ip):/var/git/arepoforyourproject.git (这是你git仓库的路径) $ git add ./ $ git commit -m "你的描述" $ git push origin master (推送到服务器的仓库)这里提交的是你默认的分支 $ git pull origin master (从服务器的仓库拉取最新的代码) ```
标签:
git
评论
回复
测试人物
:
取消回复
评论正在提交中...请稍后
评论提交成功...
提交失败
评论
接口请求错误
加载更多
网站信息
联系博主
日志总数:82 篇
网站运行天数:448 天
微信:未设置
QQ:未设置
热门文章
layui 的 checkbox 联动,监听事件不准确
2019-11-05
293
4
PHP 控制 QPS (Query Per Second) 的写法
2019-11-05
236
0
phpstudy 升级 MySQL版本到MySQL5.7
2020-04-01
156
0
laravel php artisan migrate 指定迁移文件
2019-12-12
121
0
laravel 整合 workerman 做聊天室
2019-12-12
92
0
微擎数据库表结构,供参考!
2019-11-05
91
0
在使用laravel+layui时,模板语法冲突
2019-11-05
88
0
PHP 用正则分章节
2019-12-05
85
0
git 常用命令
2019-12-11
79
0
Navicat 远程连接 mysql报can't connect to mysql server on 10060
2019-11-05
78
0
在阿里云服务器上部署git
2019-11-05
78
0
curl 请求
2019-11-05
77
0