文档章节

SSH双向免密码登录细节

Iuranus
 Iuranus
发布于 2014/06/17 23:59
字数 806
阅读 2492
收藏 16
点赞 1
评论 0

        在安装好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

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 ⋅ 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

配置ssh免密码登录

第一步:产生密钥 执行命令:ssh-keygen -t dsa -P '' -f ~/.ssh/iddsa 完成之后会在~/.ssh文件夹下产生两个文件iddsa(私钥),iddsa.pub(公钥) 执行:cat ~/.ssh/iddsa.pub>>~/.ssh/authoriz...

ifnoelse ⋅ 2013/12/02 ⋅ 0

centos 6.5 ssh 免密码登录

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

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

使用ssh-keygen和ssh-copy-id三步实现SSH无密码登录

在配置Hadoop集群分布时,要使用SSH免密码登录,假设现在有两台机器hadoop@wang-PC(192.168.10.100),作为A机,hadoop@chen-PC(192.168.10.107),作为B机。现想hadoop@wang-PC通过ssh免密码登...

iphoenix ⋅ 2016/03/17 ⋅ 0

4、Linux下ssh的使用!

1:查看系统是否已经安装了ssh套件,或则系统是否已经启动了ssh服务 2:生成密钥。 在当前用户的主目录下生成密钥,并且放在一个.ssh的文件夹中。 1:生成密钥 ssh-keygen -t rsa -f ~/.ssh/id...

刘付kin ⋅ 2016/12/08 ⋅ 0

Linux之间ssh免密码登录

$ ssh-keygen -t rsa -P ''Generating public/private rsa key pair.Enter file in which to save the key (/root/.ssh/id_rsa):Your identification has been saved in /root/.ssh/id_rsa.Y......

rgds ⋅ 2015/09/06 ⋅ 0

免密码SSH登录服务器

场景 1.日常工作中,以SSH方式登录服务器是经常做的事情,每次输入密码很烦,能不能不输入,通过OpenSSL的密钥验证的方式来实现呢? 2.生产服务器的维护,难免需要远程登录,但是目前针对...

_Elvis ⋅ 2015/08/03 ⋅ 0

SSH 免密码登陆(引导简单的一种方式)

遇到问题:对于免密码登陆,虽然很简单,但是还是会出现一些问题。故记录。 解决问题:① 由于.ssh 和authorized_keys的权限不对,导致无法正确免密码登录。 ② 由于selinux未关闭,导致做了...

悠悠子濛 ⋅ 2013/08/31 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

vuex学习

1、getters基本用法: 在store.js里面用const声明我们的getters属性。 const getters={ count:function (state) { return state.count +=100; }} export default new Vuex.S......

大美琴 ⋅ 40分钟前 ⋅ 0

292. Nim Game - LeetCode

Question 292. Nim Game Solution 思路:试着列举一下,就能发现一个n只要不是4的倍数,就能赢。 n 是否能赢1 true2 true3 true4 false 不论删除几,对方都能一把赢5 t...

yysue ⋅ 52分钟前 ⋅ 0

G6 关系数据可视化图形库 简单使用

官网 https://antv.alipay.com/zh-cn/g6/1.x/index.html 效果 首先生成给定数目的小球,并设置随机的颜色 按照顺序,设置小球的角度以及坐标 设置定时器,每隔一定的时间修改小球的角度和坐标...

阿豪boy ⋅ 54分钟前 ⋅ 0

6.5 zip压缩工具 6.6 tar打包 6.7 打包并压缩

zip压缩工具 zip命令可以压缩目录和文件,-r 压缩目录。 zip使用方法 zip 1.txt.zip 1.txt //压缩文件 zip -r 123.zip 123/ //压缩目录 unzip 1.txt.zip //解压 unzip 123.zip -d /root/456...

Linux_老吴 ⋅ 今天 ⋅ 0

react-loadable使用跳坑

官方给react-loadable的定义是: A higher order component for loading components with dynamic imports. 动态路由示例 withLoadable.js import React from 'react'import Loadable fro......

pengqinmm ⋅ 今天 ⋅ 0

记录工作中遇到的坑

1、ios safari浏览器向下滚动会触发window resize事件

端木遗风 ⋅ 今天 ⋅ 0

桥接设计模式

1、概述: 将抽象部分与他的实现部分分离,这样抽象化与实现化解耦,使他们可以独立的变化 如何实现解耦的呢,就是通过提供抽象化和实现化之间的桥接结构 桥接模式将继承模式转化成关联关系,他降...

职业搬砖20年 ⋅ 今天 ⋅ 0

20.zip压缩 tar打包 打包并压缩

6月25日任务 6.5 zip压缩工具 6.6 tar打包 6.7 打包并压缩 6.5 zip压缩工具: zip支持压缩目录 zip压缩完之后原来的文件不删除 不同的文件内容其实压缩的效果不一样 文件内有很多重复的用xz压...

王鑫linux ⋅ 今天 ⋅ 0

double类型数据保留四位小数的另一种思路

来源:透析公式处理,有时候数据有很长的小数位,有的时候由在四位以内,如果用一般的处理方法,那么不足四位的小树会补充0到第四位,这样子有点画蛇添足的感觉,不太好看。所以要根据小数的...

young_chen ⋅ 今天 ⋅ 0

Django配置163邮箱出现 authentication failed(535)错误解决方法

最近用Django写某网站,当配置163邮箱设置完成后,出现535错误即:smtplib.SMTPAuthenticationError: (535, b'Error: authentication failed') Django初始配置邮箱设置 EMAIL_HOST = "smtp.1...

陈墨轩_CJX ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部