一、每个用户都有自己的家目录

访问方式是:~/.ssh/id_rsa.pub

使用~就是表示家目录。

具体家目录在哪里,在用户密码配置文件中:/etc/passwd中。第6列的值就是。

可以使用~访问家目录。也可以直接输入绝对路径来访问:/home/git/。

每个用户都有一个自己信任列表文件,配置在:~/.ssh/authorized_keys

里面放的就是每个用户信任哪些公钥。

a机器》》通过ssh连接》b机器的linux用户。

使用某个用户连接到b机器,那么,就要把公钥加到b机器上,此用户的信任列表(~/.ssh/authorized_keys )中去。记住是此用户的信任列表中去。

二、信任列表中的公钥是一行一个公钥

~/.ssh/authorized_keys文件中,公钥之间,必须要有换行,一行一个公钥,没有换行,会当成一个公钥。

如下方式是错误的:

思考,怎么对每一个公钥值添加注释呢。比如想知道这个公钥到底是给谁用户。不然这么长,以后要删除的时候,怎么确定要删除哪个公钥。只能靠注释了。

此文件中空行和以'#'开头的行将被当作注释忽略。

三、远程机器目录和文件的权限要设置对

 

之所以没生效,要保证,是因为权限设置不对。

配置用户的公钥登陆时,配置完authorized_keys居然一直不生效,于是google之,发现原来是因为.ssh目录和下面文件的权限问题导致的,因为目录的权限已经超过了sshd的要求权限。
如果希望ssh公钥生效需满足至少下面两个条件:

1).ssh目录的权限必须是700 。目录要可以读写执行。其他用户都没有任何权限,因为这个目录是这个用户专有使用的。

2) .ssh/authorized_keys文件权限必须是600。思考:只有自己才可以读写(不需要执行),所以第一个值是6。其他用户都没任何权限,所以是00

整个ssh软件已经限制死了,必须是上面这样的权限才行,多一点都不能通过。比如设置authorized_keys文件的权限是660,那也通不过。

四、公钥的生成方式

 

ssh-keygen -t rsa -C “注释说明,一般是填写邮箱”

最后得到了两个文件,在~/.ssh/目录里:id_rsa和id_rsa.pub。

私钥文件是:~/.ssh/id_rsa文件中。公钥文件是,id_rsa.pub。

看到网上,有人直接使用如下命令添加公钥到信任文件列表中去:

cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

加入进去的公钥,会自动换行?

实际上就是一行一条数据。加到末尾,其实就是新的一行?

五、如何进行ssh登陆

ssh 用户名@ip

注:这个用户名,指的是远程机器上的linux用户名。表示说,用这个用户名,去登陆到远程机器上去。假设这个用户名是为git_remote。

1、既然是使用这个用户名去登陆远程机器。那么使用的就是远程机器上,git_remote用户的信任公钥文件。

远程机器上这个文件,位置在“git_remote用户的家目录/.ssh/authorized_keys"。

2、要把客户机上,当前linux账号的公钥值,添加到远程机器“git_remote用户家目录/.ssh/authorized_keys"中去。这样才能信任通过验证。

怎么确定当前linux用户,假设是使用git用户在执行ssh命令,那么就是git用户。

客户机,当前linux的公钥文件,在"git用户的家目录/.ssh/id_dsa.pub"文件中。

转载于:https://www.cnblogs.com/wangtao_20/p/6241244.html

linux信任公钥的配置相关推荐

  1. Linux 信任 方法,linux信任公钥的配置

    一.每个用户都有自己的家目录 访问方式是:~/.ssh/id_rsa.pub 使用~就是表示家目录. 具体家目录在哪里,在用户密码配置文件中:/etc/passwd中.第6列的值就是. 可以使用~访问 ...

  2. linux中三台主机之间互信,22、linux的ssh互信配置

    转载:https://blog.csdn.net/hrn1216/article/details/51568830 https://blog.csdn.net/u013144287/article/d ...

  3. linux安装git并配置GitHub账号,本地与GitHub之间进行文件的上传(push)、下载(克隆)、更新

    0310 Linux和github交互 参考链接: 安装git并配置GitHub账号: 本地与GitHub之间进行文件的上传(push).下载(克隆).更新 上传 下载 更新: 补充:GitHub的原 ...

  4. Linux系统管理及服务配置

    最近在学习Linux,特此记录一下 Linux系统管理及服务配置 1.文件管理 1.文件类型(理解) 简介 windows文件类型以后缀区分. exe doc linux文件类型以单个字母区分(文件属 ...

  5. Linux环境下安装配置Hadoop教程

    Linux环境下安装配置Hadoop教程 在Linux环境下,安装配置Hadoop教程. 准备工作 1.VMware虚拟机 2.Linux环境:CentOS 7 3.远程登陆:Xshell 6 &am ...

  6. Linux下环境变量配置方法梳理(.bash_profile和.bashrc的区别)

    博客园 首页 新随笔 联系 管理 订阅 <div class="blogStats"><!--done--> 随笔- 556  文章- 38  评论- 77 ...

  7. Linux环境HBase安装配置及使用

    Linux环境HBase安装配置及使用 1. 认识HBase (1) HBase介绍 HBase = Hadoop database,Hadoop数据库 开源数据库 官网:hbase.apache.o ...

  8. linux多路径策略配置,linux 多路径配置

    首先介绍一下什么是多路径(multi-path)?先说说多路径功能产生的背景,在多路径功能出现之前,主机上的硬盘是直接挂接到一个总线(PCI)上,路径是一对一的关系,也就是一条路径指向一个硬盘或是存储 ...

  9. linux中的网络配置

    Linux中的网络配置 1 什么是IP ADDRESS 2 子网掩码 3 ip通信判定 4 网络设定工具 4.1 设置双网卡 4.2 ping命令 4.3 ifconfig命令 4.4 ip addr ...

  10. Linux环境下路由表配置一

    路由表配置网关及端口   网络地址:分析目标地址 接口:数据有可能从路由器的哪个出口出来,哪个就是接口 网关:目标网络与发数据的设备不在一个网段内,下一个路由器邻近主配置路由器的接口ip就是网关,线路 ...

最新文章

  1. LINUX下用C语言历遍目录 C语言列出目录
  2. 确认了!MySQL 狠甩 Oracle 稳居 Top1!
  3. 函数指针及其定义和用法,C++函数指针详解(附用法代码和注意事项)
  4. android进度条课设报告,Android开发之进度条ProgressBar的示例代码
  5. CSDN中的如何转载博文
  6. 自学Android!Android高级工程师面试题-字节跳动,附答案
  7. AC-WEB使用HTTPS登录
  8. PostgreSQL“ DESCRIBE TABLE”
  9. SD卡, EMMC固化 ,关于bootloader linux
  10. mysql添加字段 说明_MYSQL数据库MSSQL 添加字段说明
  11. linux exosip编译,eXosip2 osip 编译安装
  12. 美国的知名的人工智能研究机构或者实验室
  13. 秦汉考场科目三路线图_易通驾校百科:秦汉科目三考场考试攻略,附考场路线图...
  14. 计算机视觉——SIFT特征提取与检索算法
  15. VUE酒店日期选择,时间段选择插件vue-mobile-calendar使用
  16. VMware配置虚拟机映射,实现局域网络互相访问
  17. php mkdir 失败原因,php mkdir 失败怎么办
  18. 麻烦你先搞懂这几个问题,简历再写熟悉数据库!!!
  19. 【Leetcode】914. X of a Kind in a Deck of Cards
  20. Beta冲刺(8/7)——2019.5.30

热门文章

  1. 【C++】pair对组创建
  2. python soup提取叶子标签_使用Python爬虫库BeautifulSoup遍历文档树并对标签进行操作详解(新手必学)...
  3. Android踩内存工具,Android之内存分析工具
  4. java biginteger 比较大小,Java BigInteger compareTo()用法及代码示例
  5. 钉钉 e应用 mysql_钉钉E应用入门总结
  6. python global用法_python可视化——pyechart库
  7. Mac实践--MAC搭建FTP服务器
  8. 线程--匿名内部类实现多线程的2种方式
  9. asp.net core跨域访问ajax的验证访问
  10. linux screen 命令详解[转]