使用sshkey,可以实现免密码登陆服务器,同时关闭ssh service的使用账号密码登陆功能即可

1、首先在客户机添加sshkey(如果是window系统的话需要安装shell终端工具,例如xshell,gitbash等)

ssh-keygen -t rsa -C 'email@sample.com'

#之后会在用户目录下生成一个.ssh目录,里面有“id_rsa”私钥(之前的命令生成的rsa算法加密的key)、“id_rsa.pub”公钥,私钥保存在客户端,公钥保存到服务端即可

2、在服务端的对应用户目录下的.ssh/authorized_keys文件下添加客户端的公钥,每行一个即可。如果authorized_keys原来不存在,新建该文件将拷贝内容放入即可(或者在其他用户的.ssh目录下看看有没有)

3、修改服务端对应用户的相应文件的权限:(改成一致即可,尽量不要多也不要少)

$ls -la /home/username
drwx--x--x 9 username username 4096 May 11 10:09 username
$ls -la /home/username/.ssh
-rw-r--r-- 1 username username 797 May 11 10:09 authorized_keys
$ls -la /home/username
drwx------ 2 username username 4096 May 11 10:09 .ssh

4、关闭ssh server的使用账号密码登陆功能

修改/etc/ssh/sshd_conf文件,将PasswordAuthentication修改为no

5、重启ssh service

sudo service ssh restart

git库的搭建,以上所做的一切都是为了服务于下面的操作

1、首先,生成一个git仓库

$ sudo git init --bare test.git
Initialized empty Git repository in /home/username/test.git/ #提示初始化了一个空的git仓库
$ ls test.git
branches config description HEAD hooks info objects refs #该目录下的内容
$ sudo chown -R username:username test.git #修改该目录的owner和group为username

2、禁用该用户的shell登陆(前提是这个用户创建就是为了git,不对系统进行登陆)

修改/etc/passwd

username:x:1001:1001:,,,:/home/username:/bin/bash
改为:
username:x:1001:1001:,,,:/home/username:/usr/bin/git-shell

3、正常使用git

$ git clone username@server:/home/username/sample.git

使用sshkey,禁用密码登陆,以及git仓库的搭建的更多相关文章

  1. Mac OS ssh 禁用密码登陆

    $ sudo vim /etc/ssh/sshd_config PubkeyAuthentication yes PasswordAuthentication no UsePAM no then: $ ...

  2. 远程git仓库的搭建

    具体的操作见另一篇 第一部分: 安装 1. 下载地址:  https://git-scm.com/download/win; 如果速度慢, 使用 迅雷下载; 2. 点击安装, 然后下一步, 直到下面这 ...

  3. GIT 仓库的搭建

    1.安装并配置必要的依赖关系 在CentOS 7(和RedHat / Oracle / Scientific Linux 7)上,以下命令还将在系统防火墙中打开HTTP和SSH访问. yum inst ...

  4. 禁用 linux的 密码登陆

    如果我们只允许 证书登陆 不允许密码登陆. 首先配置证书的例子,我的上一篇文章有些. 然后,禁用 密码登陆. vi /etc/ssh/sshd_config 修改 PasswordAuthentica ...

  5. 版本控制系统之基于httpd搭建私有git仓库

    在上一篇博客中,我们主要聊到了git的基本工作原理和一些常用的git命令的使用:回顾请参考https://www.cnblogs.com/qiuhom-1874/p/13787701.html:今天我 ...

  6. Linux环境下搭建Git仓库

    1.安装Git $ yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel $ yum ...

  7. Java_eclipse软件与git配合使用创建git仓库

    一.在eclipse上安装git,和安装其他插件一样 help->Install new software->add... 在弹出框中输入name,location;点击-->ok ...

  8. ssh keygen命令实现免密码通信(git库获取操作权限:开发人员添加到git库中,获取操作权限)

    先看两个机器实现免密码登陆通讯: 假设 A 为客户机器,B为目标机: 要达到的目的: A机器ssh登录B机器无需输入密码: 加密方式选 rsa|dsa均可以,默认dsa 做法: 1.登录A机器 2.s ...

  9. eclipse软件与git配合使用创建git仓库

    一.在eclipse上安装git,和安装其他插件一样 help->Install new software->add... 在弹出框中输入name:git,location:http:// ...

随机推荐

  1. Py修行路 python基础 (十二) 协程函数应用 列表生成式 生成器表达式

    一.知识点整理: 1.可迭代的:对象下有_iter_方法的都是可迭代的对象 迭代器:对象._iter_()得到的结果就是迭代器 迭代器的特性: 迭代器._next_() 取下一个值 优点: 1.提供了 ...

  2. Linux - 文件合并

    >:左边命令的结果覆盖右边文件的内容 cat 命令,把文件的内容覆盖另一个文件中的内容 把两个文件的内容合并到一个文件中 echo 命令 whoami 命令 >>:把左边命令执行的结 ...

  3. java自己写的简单聊天工具SimpleQQ感悟

    Demo如下: 客户端: /* * 一个简单的QQ * 2013-8-1 * @李志杰 */ package SimpleQQ_Client; import java.awt.*; import ja ...

  4. 使用Selenium对付一个点击游戏

    继续来熟悉Selenium的使用,这次来玩一个Html5游戏.原网址在这:http://tianmaying.com/app/clicking/# 游戏是这样的,5秒内你能点击这个按钮几次.一般人都只 ...

  5. Angular-cli新建项目目录结构详解

    Angular-cli新建项目目录结构详解 在上一篇博客中我们已经通过Angular CLI命令行工具创建出来一个全新的Angular项目,要想写项目,首先我们要先搞清楚项目的目录结构是怎样的,每个文 ...

  6. grep家族

    grep家族由命令grep.egrep和fgrep组成. grep:在文件中全局查找指定的正则表达式,并且打印所有包含该表达式的行.egrep和fgrep是grep的变体.egrep:grep的扩展, ...

  7. 局域网内的一些计算机可以ping通 有些ping不同

    如何查看.添加.修改.删除电脑内部路由_百度经验https://jingyan.baidu.com/article/77b8dc7fc611626174eab6cb.html

  8. pyspider用PyQuery解析页面数据

    示例说明: 本示例主要是PyQuery解析返回的response页面数据.response.doc解析页面数据是pyspider的主要用法,应该熟练掌握基本使用方法.其他返回类型示例见后续文章. py ...

  9. MAVEN学习总结1

    一.安装Maven插件 下载下来的maven插件如下图所示:,插件存放的路径是:E:/MavenProject/Maven2EclipsePlugin

  10. Javamelody部署手册

    Javamelody部署手册 1.  Javamelody下载 下载地址:http://code.google.com/p/javamelody/downloads/list(注:需要FQ才能打开下载 ...