Centos服务器ssh免密登录以及搭建私有git服务器
一、概述
服务器的免密登录和git服务器的搭建,关键都是要学会把自己用的机器的公钥添加到服务器上,让服务器“认识”你的电脑,从而不需要输入密码就可以远程登录服务器上的用户
免密登录当然是登录root用户,而搭建git服务器需要在服务器上创建一个git用户。注意服务器上每个用户识别的公钥存在不同的文件中,因此需要自己的电脑既能免密登录,又能使用git服务器,就要把自己电脑的公钥添加到两个文件中
二、服务器免密登录
1、修改服务器sshd config配置
登录服务器的root用户,然后输入
vim /etc/ssh/sshd_config
编辑root用户的ssh设置,在文件中加入
RSAAuthentication yes
PubkeyAuthentication yes
两句,用以开启ssh证书登录
注意到文件中有一行
AuthorizedKeysFile .ssh/authorized_keys
这里指定了root公钥存放的文件,下一步要做的就是将我的电脑的公钥加到这个文件里
2、获取自己机器的公钥
ssh-keygen -t rsa
之后一路回车,公钥和私钥都会存在默认的~/root/.ssh/目录中。
进入这个目录,用 cat id_rsa.pub 查看公钥,然后将显示的内容复制到服务器的authorized_keys中即可,此文件一行一个公钥
3、免密登录
在自己的机器中输入ssh root@服务器公网ip就可以直接登录服务器的root账号了

4、禁用密码登录(可选
防止服务器登录密码被暴力破解,禁用密码登录,修改sshd_config,找到PasswordAuthentication将它设置为no
重启ssh服务
service sshd restart
三、搭建git服务器
在理解了服务器免密登录的原理后搭建git服务器就很简单了,我们需要创建一个用户git,把git仓库授权给git管理,然后把允许访问git仓库的机器的公钥添加到git用户的authorized_keys文件中。
1、安装git
yum install -y git
-y:对安装过程中所有的提示选择yes
2、创建git用户
adduser git
3、配置git用户的ssh访问设置
进入git用户目录
cd /home/git
创建.ssh文件夹
mkdir .ssh
将.ssh文件夹的权限值设为700,即只允许本用户和root用户拥有读、写、执行权限。
chmod .ssh
这么做的原因是是如果authorized_keys文件、$HOME/.ssh目录 或 $HOME目录让本用户之外的用户有写权限,那么sshd都会拒绝使用 ~/.ssh/authorized_keys 文件中的key来进行认证的。
创建一个空文件authorized_keys
touch .ssh/authorized_keys
将authorized_keys权限值设为600,即只允许本用户和root用户拥有读、写权限。
chmod .ssh/authorized_keys
将git文件夹的用户名和组名都改为git,-R表示对该文件夹下所有子文件进行同样的操作
cd /home
chown -R git:git git
4、将本机公钥拷贝到git的authorized_keys中,一行一个
5、创建git仓库
在home目录下新建一个gitrepo文件夹作为git仓库的储存室
cd /home
mkdir gitrepo
将此文件夹归为git所有
chown git:git gitrepo
创建第一个git仓库
cd gitrepo
git init --bare test.git
将仓库归为git所有
chown -R git:git test.git
6、在客户端拉取服务器新建的git仓库
git clone git@公网ip:/home/gitrepo/test.git
在本地编辑仓库并提交后,可以连接到服务器查看git仓库的修改时间,如果修改时间有变化则说明提交成功
7、从客户端push仓库
git remote add origin git@公网ip:/home/gitrepo/test.git
git push -u origin master
8、禁用shell登录
如果希望git用户不能登录shell,就要修改git用户的权限
修改/etc/passwd
vim /etc/passwd
将
git:x::::/home/git:/bin/bash
改为
git:x::::/home/git:/bin/git-shell
这样,git用户可以正常通过ssh使用git,但无法登录shell。
Centos服务器ssh免密登录以及搭建私有git服务器的更多相关文章
- 【Linux】两台服务器ssh免密登录
背景: 有些场景可能用到两台服务器ssh免密登录.比如服务器自动化部署 开始准备: 服务器A linux ip: 192.168.1.1 服务器B linux ip: 192.168.1. ...
- 多台服务器-SSH免密登录设置
在4台服务器-SSH免密登录设置,如以下4台服务器 master1 node001 node002 node003 我想在master1对4台服务器进行拉取或者分发任务或者是集群服务器的批量操作,但是 ...
- linux服务器ssh免密登录
环境:两台服务器,Park01.Park02,配置ssh免密登录 在Park01执行:ssh-keygen 然后一直回车 生成节点的公钥和私钥,生成的文件会自动放在/root/.ssh目录下 然后 ...
- jsch配置sftp服务器ssh免密登录
前期对接了一个通过ssh免密登录的需求,是基于原先密码登录sftp服务器的代码上进行改造,实际上代码改动量非常少,趁此机会对自己整理的资料做一下总结. 1. 什么是SFTP SFTP是一个安全文件传送 ...
- CentOS配置SSH免密登录
假如我们有两台CentOS机器,192.168.199.101,192.168.199.102,要想在101上远程连接102可以通过ssh命令来实现 ssh 192.168.199.102 如果没有配 ...
- CentOS 7 SSH 免密登录的方法
先决条件 3 台 CentOS 7 HOSTNAME IP ROLE server1 10.8.26.197 Master server2 10.8.26.196 Slave1 server3 10. ...
- ssh免密登录linux服务器
Ssh免密登录 sshd服务 sshd简介: SSH 密钥为登录 Linux 服务器提供了更好且安全的机制.运行 ssh-keygen 后,将会生成公私密钥对.你可以将公钥放置到任意服务器,从持有私钥 ...
- 配置ssh免密登录遇到的问题——使用VMware多虚拟机搭建Hadoop集群
搭建环境: 虚拟机 VMware12Pro 操作系统 centos6.8 hadoop 1.2.1 1.导入镜像文件,添加java环境 1.查看当前系统中安装的java,ls ...
- SSH远程登录:两台或多台服务器之间免密登录设置
有两台(或多台)同局域网的服务器A:192.168.2.21,B:192.168.2.25.让A,B这两台服务器之间能两两互相免密登录,并且每台服务器都可以自我免密登录(自我免密登录即:ssh loc ...
随机推荐
- Flink table&Sql中使用Calcite
Apache Calcite是什么东东 Apache Calcite面向Hadoop新的sql引擎,它提供了标准的SQL语言.多种查询优化和连接各种数据源的能力.除此之外,Calcite还提供了OLA ...
- 【EF】解决EF批量操作,Z.EntityFramework.Extensions 过期方案
方案一: 使用EntityFramework.Extended优点: 启下载量是Z.EntityFramework.Extensions的10倍+ 不会过期缺点:不能批量Insert 方案二:解决批量 ...
- javabean 参数收集 设置属性 设置不同级别的域对象的属性 默认存储在pagecontext中
javabean 参数收集 设置属性 设置不同级别的域对象的属性 默认存储在pagecontext中
- Python 开篇及第一个Python程序
本节内容 python 简单介绍 python 2.x 或者python 3.x python 安装 第一个python程序 一.python简单介绍 python的创始人为吉多.范罗苏姆(Guido ...
- POJ2724:Purifying Machine——题解
http://poj.org/problem?id=2724 描述迈克是奶酪工厂的老板.他有2^N个奶酪,每个奶酪都有一个00 ... 0到11 ... 1的二进制数.为了防止他的奶酪免受病毒侵袭,他 ...
- bzoj2588: Spoj 10628. Count on a tree(树上第k大)(主席树)
每个节点继承父节点的树,则答案为query(root[x]+root[y]-root[lca(x,y)]-root[fa[lca(x,y)]]) #include<iostream> #i ...
- angularJS前端分页插件
首先在项目中引入 分页插件的 js 和 css: 在html页面引入 相关js 和 css: 在控制器中引入分页插件中定义的 module[可以打开pagination.js查看,可以看到 其实,在插 ...
- 关于notepad++如何自动补全标签的问题
转自:https://blog.csdn.net/Panda_Eyes1/article/details/81486331 关于notepad++如何自动补全标签的问题 2018年08月07日 18: ...
- 将微服务注册到Eureka Server
一.微服务程序编写 1.在已写好的微服务程序中添加pom依赖: <dependency> <groupId>org.springframework.cloud</grou ...
- 集成淘宝sdk
204是安全图片的问题, 请先检测以下几点: .请检测百川控制台是否已经申请初级API. .请检测百川控制台“我的产品后台”是否开通电商SDK应用.(重点检测很多用户疏忽这一点) .debug版本的可 ...