文档章节

SSH双向免密码登录细节

Iuranus
 Iuranus
发布于 2014/06/17 23:59
字数 806
阅读 2534
收藏 16

        在安装好SSH的机子上,一般配置SSH单向(例如只从A机免密码登录到B机)免密码登录步骤如下:

在A机上:

cd ~/.ssh
ssh-keygen -t rsa    # 在~/.ssh目录下生成公私钥对
cat id_rsa.pub >> authorized_keys    # 将公钥追加到A机的authorized_keys文件中,则A机可以免密码登录本机
scp ./rsa_id.pub destination.host:~/.ssh    # 将公钥发送到B机子~/.ssh目录下

在B机子上:

cd ~/.ssh
cat id_rsa.pub >> authorized_keys    # 在~/.ssh目录下将公钥追加到authorized_keys文件中,至此,A机可以免密码登录B机(第一次登录时,需要输入B机子的登录密码)
chmod 600 authorized_keys    # 如果第二次登录时仍旧需要输入密码,请确认authorized_keys文件的权限

        上述是设置A机免密码登录B机,如果需要进一步配置B机免密码登录A机,则在B机~/.ssh目录下ssh-keygen -t rsa生成自己的公私钥对之后(因为之前已经将A机的公钥文件rsa_id.pub发送到了B机的~/.ssh目录下,此时会提示覆盖该文件,这个可以直接覆盖,因为A机公钥已存在于authorized_keys文件中),在发送给A机之前,最好生成一份B机公钥副本(cp rsa_id.pub rsa_id.pub.B),以免覆盖了A机下面已经存在的A机自己的公钥。A机在得到B机的公钥后,将B机公钥追加到authorized_keys文件中,B机即可免密码登录A机(第一次登录也是需要密码)。最后清理A机下B机的公钥文件,并清理B机上B机自己的公钥副本,不然会影响登录,时间一长也容易搞混。

        自己在实践过程中,正是因为直接将B机的公钥发送给A机从而覆盖了A机自己的公钥文件,导致A-B单向登录时还可以,一配置双向登录后,A-B单向登录也不行了(A机公钥已被替换)。(如果只是A/B两个自己,可以用scp命令直接将公钥复制到远程机子的authorized_keys文件中,但多机情况下该命令会将之前的内容直接覆盖,要是scp有文件追加功能就好了。

        出现这个情况的原因是自己实现对SSH登录原理不甚清楚,从而走了不少弯路。看来果真知其所以然,才能知其各种然。

        同样附上自己参考的几篇比较有用的博文:SSH原理Secure Shell(Wikipedia)SSH原理与运用(一):远程登录(主要参看评论)ssh配置authorized_keys后仍然需要输入密码的问题ssh 无密码验证 及 ssh localhost 仍然需要密码的解决方案SSH双向免密码登陆:::linux配置双机SSH信任


如果文章对你有用,请在收藏之余“顶/赞”一下以示鼓励吧 (/ω\)

© 著作权归作者所有

共有 人打赏支持
Iuranus
粉丝 11
博文 41
码字总数 22439
作品 0
高级程序员
linux ssh 免密码登录

linux ssh 免密码登录 hosta ssh 到hostb 免密码 将hosta的pub key 添加到hostb的authorized_keys中 a生成密钥 将公钥复制到hostb用户下的.ssh/authorized_keys中 略,可以通过scp 权限问题 ...

一群河马
2015/11/19
0
0
SSH 免密码工具--SSH-skip-pwd

ssh-skip-pwd是ssh免密码工具。 已测环境: OS: Centos6.X 编程语言: python2.6 + pip + pexpect + paramiko 安装前置条件: 1,确认python版本为2.6-2.x [非 python3] 2,安装 pexpect 、...

code_son
2016/10/17
564
0
大数据教程(1.8):Linux之SSH免密登录配置

在工作中,有很多时候,我们需要使用自动化脚本远程安装软件或者执行程序。此时必须要实现免密码登录才好做相应操作。 博主今天就详细的分享Linux之间的ssh免密码登录配置过程,帮助小白们理...

em_aaron
07/06
0
0
如何在多台服务器添加ssh的免密码登录

1、在多主机中分别以命名方式映射IP(以三台机为例) vim /etc/hosts xxx.xxx.xxx.xxx node1 xxx.xxx.xxx.xxx node2 xxx.xxx.xxx.xxx node3 在三台主机上都要进行以上操作。 然后分别在三台主机...

算法之名
05/06
0
0
centos 6.5 ssh 免密码登录

百度一下,ssh linux 关键字,就有很多基本设置了,但是在centos6.5及以上版本除了正常步骤设置后还有一个配置需要更改,不然ssh登录时还是要密码验证。下面简要记录一下操作步骤: CentOS 6....

努力学的程序员
2016/04/28
315
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

c语言之内存分配笔记

先看一个数组: short array[5] = {1,2} // 这儿定义的一个int类型的数组,数组第1和第2个元素值是1和2.其余后面默认会给值为0; 或者 short array[] = {1,2};//这儿数组第1和第2个元素,数组...

DannyCoder
今天
2
0
Shell | linux安装包不用选择Y/N的方法

apt-get install -y packageOR echo "y" | sudo apt-get install package

云迹
今天
2
0
Hadoop的大数据生态圈

基于Hadoop的大数据的产品圈 大数据产品的一句话概括 Apache Hadoop: 是Apache开源组织的一个分布式计算开源框架,提供了一个分布式文件系统子项目(HDFS)和支持MapReduce分布式计算的软件架...

zimingforever
今天
5
0
八大包装类型的equals方法

先看其中一个源码 结论:八大包装类型的equals方法都是先判断类型是否相同,不相同则是false,相同则判断值是否相等 注意:包装类型不能直接用==来等值比较,否则编译报错,但是数值的基本类型...

xuklc
今天
2
0
NoSQL , Memcached介绍

什么是NoSQL 非关系型数据库就是NoSQL,关系型数据库代表MySQL 对于关系型数据库来说,是需要把数据存储到库、表、行、字段里,查询的时候根据条件一行一行地去匹配,当量非常大的时候就很耗...

TaoXu
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部