Centos6 下为git配置SSH验证
server
1.首先安装git
|
|
2.新建一个linux用户,起名为git
|
|
3.在git用户目录中新建目录 .ssh
|
|
4.在/home/git/.ssh/目录中新建authorized_keys文件,并将客户端提供的公钥(id_rsa.pub)黏贴到该文件中
touch authorized_keys 或 vi authorized_keys
5.在项目目录创建一个git裸仓库,假如当前项目目录为/home/git/project.git
git init –bare project.git
6.将项目目录和git用户目录下的.ssh目录的所有者和所属组都设置成git
|
|
7.为了安全考虑,禁用git用户的shell登录(我这里改了就必须输入密码才行使用,不知道为什么)
|
|
git服务器打开RSA认证
|
|
client
1.生成公钥,并复制到剪切板
|
|
此步骤要将公钥发给git服务器管理员
2.在本地新建git仓库
|
|
3.新建一个文件并推送到服务器
|
|
注:如果提示需要密码,请检测公钥是否配置成功或RSA是否开启。
转:
https://blog.phpgao.com/build-git-server.html
转得第二个, 用了里面的权限设置
—- 配置SSH Config
$cd /etc/ssh
$vim sshd_config
// 打开以下三个选项
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
—- 生成SSH Key
$ssh-keygen -t rsa -C email@example.com
一路回车,生成文件 id_rsa, id_rsa.pub
—- 创建SSH ras配置文件
// 添加git用户
$sudo adduser git
// 切换到git
$su git
// 进入git主目录,如/home/git
$cd
// 添加.ssh目录、修改权限
// 注:确认.ssh文件夹建立在git的主目录下,如果找不到文件或git权限不够会无法认证。
$mkdir .ssh && chmod 700 .ssh
// 添加授权文件
$touch .ssh/authorized_keys && chmod 600 .ssh/authorized_keys
// 把公钥内容复制到授权文件中
$cat id_rsa.pub > .ssh/authorized_keys
—- 服务端创建git bare
$cd /home/git
$mkdir test.git
$cd test.git
$git init –bare
—- 客户端git连接
把私钥id_rsa复制到本地客户端,路径如下:
windows => C:\Users\
// 启动git shell并进入某个git项目下
// 添加远程url,使用这个方法主要是可能ssh带有非22的默认端口号
git remote set-url origin ssh://git@server:port/home/git/demo.git
// 开始使用git
—- 附:在创建git用户后,为了安全,最好限制git用户不能使用shell
$cat /etc/shells // 看是否已经配置了git-shell,如果没有再添加上去
$which git-shell // 查找git-shell,一般为 /usr/local/bin/git-shell
$vim /etc/shells // 把git-shell路径添加到shells中
$chsh git // 为git用户指定使用的git-shell路径。
$/usr/local/bin/git-shell // 输入git-shell路径
Centos6 下为git配置SSH验证
install_url
to use ShareThis. Please set it in _config.yml
.