怎么把各个主机之间的authorized keys

二次元同好交流新大陆
扫码下载App
汇聚2000万达人的兴趣社区下载即送20张免费照片冲印
扫码下载App
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
有点胖 有点丑
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
& && & & & &首先在本机使用ssh-kergen命令生成本机的公钥和私钥。&&&&[root@localhost .ssh]# ssh-keygen&#生成本机的公钥和私钥,生成的文件存放在~/.ssh中。Turbo系统生成的文件名为identity 和identity .pub ,Redhat生成的文件为id_rsa和id_rsa.pub &&& & & & &将生成的公钥通过ssh-copy-id 命令拷贝到远程主机。&[root@ns2 .ssh]# ssh-copy-id -i id_rsa.pub root@192.168.1.166# &需要说明的是必须使用I来指明公钥文件的绝对路径,否则报错。Now try logging into the machine, with "ssh 'root@192.168.1.166'", and check in:& .ssh/authorized_keysto make sure we haven't added extra keys that you weren't expecting.# 将文件拷贝到远程服务器。需提供对方服务器的密码。& & && 做完这些后就可以直接SSH &免密码登陆了。&[root@ns2 .ssh]# ssh root@192.168.1.166Last login: Wed Mar 21 17:51:54 2012 from 192.168.1.99&Hello &Wold !!! & Welcome to &RedFlag.ORG& & & & 在远程服务端查看 &~/.ssh/authorized_keys &文件可以看到所有可免密码登陆本机的用户公钥信息。ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAu0nXaINjqScRMKM+z52g21iwGGq7T9DlFg/LDVENj2BMrzzWA/OSSO7smK3ZBheHJVHKf31M0DuhILP5V2erx9KrzyRmdhtq4+T3aXk/uSH5228L5+aSyLW8GQw60Y3zPkmaoVeEE9BCYpdtau+d4wVUOUjr/ScDzHLvLP4pcEMwOHvjx3w4Pa7M08H/wTlIEp0TMbAM06rSX4ZOadrhhUEAWp9hcj5f8whcQ6NIlb5iiVpzxnewcdTtm9re8R66GC877xtIhk7NLpZrw4LSngfNU/pKX+XeVU8Zi5syMOCnn/N6fEYKs0VlDKO3+cyP/l/HjH6B27WBhvxZjhmuOHHVw== root@ns2.redflag.org& && 当然了,方便可能会带来一些安全主面的隐患,如只要一台主机沦陷,黑客就可以通过这台主机登陆到所有可免登陆的主机上,该怎么办呢?有高手提供了解决方案。& &详见:
阅读(916)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
在LOFTER的更多文章
loftPermalink:'',
id:'fks_',
blogTitle:'使用RSA公钥实现在各个主机之间免密码登录',
blogAbstract:'& & & 密码是个好东西,可以实现认证,但若你的主机很多,但经常需要在各个主机之间复制文件的话,要记住这些主机的密码是件很难的事情。所以实现在各台linux主机之间免密码登录就显得很重要的了。&& & &通过ssh公钥可以很方便满足这一要求。&& && & & & &首先在本机使用ssh-kergen命令生成本机的公钥和私钥。&&&&[root@localhost .ssh]# ssh-keygen&#生成本机的公钥和私钥,生成的文件存放在~/.ssh中。Turbo系统生成的文件名为identity 和identity .pub ,Redhat生成的文件为id_rsa和id_rsa.pub &&',
blogTag:'linux,网络安全',
blogUrl:'blog/static/',
isPublished:1,
istop:false,
modifyTime:8,
publishTime:6,
permalink:'blog/static/',
commentCount:0,
mainCommentCount:0,
recommendCount:0,
bsrk:-100,
publisherId:0,
recomBlogHome:false,
currentRecomBlog:false,
attachmentsFileIds:[],
groupInfo:{},
friendstatus:'none',
followstatus:'unFollow',
pubSucc:'',
visitorProvince:'',
visitorCity:'',
visitorNewUser:false,
postAddInfo:{},
mset:'000',
remindgoodnightblog:false,
isBlackVisitor:false,
isShowYodaoAd:false,
hostIntro:'男人
有点胖 有点丑',
hmcon:'1',
selfRecomBlogCount:'0',
lofter_single:''
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}微信公众号:centoscn
xshell基于密钥登陆远程主机
& & 第一次接触到SSH,也是第一次接触到Linux(Unix Like)系统,时间上说不上来了,SSH算得上是Linux系统的的一个标准配置,对SSH的印象,它就是一种远程连接的工具,有了它就能安全的与远程主机进行连接。
(一)、什么是SSH
SSH的全称是Secure Shell,简单说来ssh是一种安全的外壳协议,用于两个计算机间安全的远程登陆,说它安全,是因为ssh采用公钥加密的机制。
最开始时用作远程管理的工具是telnet,这个协议工作时在网络上传输的数据全是明文,出于安全性的考虑,此协议的使用率越来越少。而ssh的安全性使用它成为一种互联网上远程登陆主机的解决方案。
在windows系统上常用到的有Putty、SecureCRT、XManager中的Xshell工具,而XManager工具是我见到的IT工作者中使用频率极高的一个工具,在windows上好像没有ssh协议的服务器端的实现,ssh协议的实现也分为商业的实现和开源的实现,在这里将是对ssh协议的一个开源实现的学习与记录。Openssh即是Linux系统下开源的实现,它开放且免费。
(二)、ssh工作原理
说ssh是种安全的协议,是因为它采用公钥加密。用主机A连接主机B来说明这个过程:
&&&&1、主机A向主机B发起登陆请求;
&&&&2、主机B向主机A发送公钥文件;
&&&&3、主机A把登陆密码用接收到的公钥加密后发送给主机B;
&&&&4、主机B用自己的私钥解密加密信息,得到登陆密码;
&&&&5、主机B验证密码的正确性,正确则让其登陆,否则则断开。
(三)、中间人攻击(Man-in-the-middleattack)
基于公钥加密这种验证方式看起比较完美,登陆密码的传输都是经过公钥加密处理,即使被恶意劫持,只要私钥文件没有被泄露,那也不能解密加密信息,密码的保密性得到保障。但这种看似完美的工作方式也有其致命的弱点,如果主机B是黑客伪装的,他接收到主机A的登陆主机B的登陆请求,用自己的公钥发送给主机A,而主机A很难辨别主机B的真伪,黑客就可以采取这种方式获得主机B正确的登陆密码,这就是有名的中间人攻击(Man-in-the-middleattack)。&&&
要想应对中间人的攻击,则需避免登陆时输入用户口令的操作,ssh中的认证方式有两种,一种是基于口令的方式,另一种是基于公钥的认证方式,后者就能在用户不输入口令的情况下登陆主机。
(四)、配置文件
系统环境:
&span style=&font-family:arial, helvetica, sans-&&[root@bogon~]
先看一下系统中安装openssh所用的安装包:
&span style=&font-family:arial, helvetica, sans-&&[root@bogon~]
可以用&rpm -ql 安装包名称&命令来查看各个安装名生成的目录结构,如下:
&span style=&font-family:arial, helvetica, sans-&&[root@bogon~]
对于openssh,我们需要关注的配置文件分为两类,一类是公共配置文件,另一类是私有配置文件。公共配置文件又分为服务端的配件文件和客户端的配置文件。
/etc/ssh/sshd_config&& #服务端配置文件
/etc/ssh/ssd_config&&& #客户端配置文件
~/.ssh/*&&&&&&&&&&&&&& #私有配置文件
我们主要关注的是服务端的配置文件和私有配置文件。
(五)、认证方式
ssh支持两种认证方式,一种是基于用户名与口令的认证,另一种是基于密钥的认证。
5.1&基于用户名与口令认证:客户端通过输入用户名与用户登陆密码的方式完成远程登陆,虽说是要求输入用户名及密码来验证,但ssh也会涉及到公钥的发送,即远程主机收到用户远程登陆请求时会把自己的公钥发送给用户端。
在windows下以ssh的方式登陆linux主机时,以xmanager为例,当用xmanager中的xshell第一次登陆linux主机时会有以下的提示:
大致意思就是用户包要连接的主机在用户本地的存储key的数据库中没有存储,主机是不可信任的,并且给出了远程主机公钥的摘要信息,是否要断续的连接此主机?那怎样来验证我所要连接的主机(192.168.0.201)是真实的,不是一个伪装的主机,避免中间人攻击。当点击&Accept&Save&,那xshell会把远程主机的公钥信息保存下来,在这里可以查看到:
应对中间人攻击,SSH有2种方法,一是远程主机把自己的公钥拿到CA处做认证,申请一个数字证书;二是远程主机把自己公钥的指纹信息公布出来,比如公布在网站上,大家都可查看到公钥的指纹信息。这样用户在登陆时就可以鉴别主机的真伪了。提取主机的指纹信息的方法如下:
&span style=&font-family:arial, helvetica, sans-&&[root@Server-A&~]
远程主机可以把这个采用dsa算法的指纹信息发布在一个网站上,那我用xshell去远程连接时就可对比一下指纹信息是不是一样,如果是一样的那就能证明我连接的是真实的主机。
在linux下用ssh方式登陆另一linux主机时,如果第一次登陆会有如下的提示:
&span style=&font-family:arial, helvetica, sans-&&[root@Server-A~]
表示的意义与用xshell登陆时的提示相同,输入&yes&,再输入远程主机的口令即可登陆,登陆成功后本地主机会生成&~/.ssh/known_hosts&文件,这文件里保存着远程主机的公钥信息,这样下次再远程登陆时就不需要发送公钥信息了,直接输入口令即可。
5.2&基于公钥的认证:基于用户口令的认证方式每次都要求用户提供正确的口令,比较麻烦,且增加了口令泄露的机率。而基于公钥的认证则不需要用户输入口令即可完成远程登陆。这种认证方式是这样工作的:用户把自己的公钥存储在远程主机上,在登陆时,远程主机向用户发送一段随机字符串,用户用自己的私钥加密这段随机数字,并把加密后的信息发送给远程主机,远程主机用事先存储的公钥来解密这个数据,如果解密成功,则说明请求登陆的用户是可信任的,这样就直接允许用户登陆,而不要求输入密码了。
这种认证方式,需要用户自己的公钥,并把公钥保存到远程主机上。若没有现成的公钥,那就生成:
&span style=&font-family:arial, helvetica, sans-&&[root@Server-A~]
此时在家目录下的&./ssh&目录下生成了两个文件,一个id_rsa(私钥文件),id_rsa.pub(公钥文件)。接着把公钥文件拷贝到远程主机:
&span style=&font-family:arial, helvetica, sans-&&[root@Server-A&~]
这里的&authorized_keys&这个文件名不能更改,这是由&/etc/ssh/sshd_config&文件定义的。
测试一下能否不输入密码就能远程登陆Server_B主机:
&span style=&font-family:arial, helvetica, sans-&&[root@Server-A&~]
没错,成功了,但有报告信息,这是因为在/etc/hosts文件里没有增加两主机的映射关系,增加就可以了,在两主机中的&/etc/hosts&文件中都增加以下两行:
&span style=&font-family:arial, helvetica, sans-&&[root@Server-A&~]
上边用&scp&命令直接把主机的公钥文件拷贝到远程主机用户家目录下的&root/.ssh/authorized.keys&,其实还有一个更好的方法,ssh为我们提供了一个客户端工具,即&ssh-copy-id&,这个工具能将本地主机的公钥自动拷贝到远程主机上生成&authorized.keys&文件,且会让这个文件的权限为&600&这样更为安全,此命令的用法如下:
&span style=&font-family:arial, helvetica, sans-&&[root@Server-A&~]
建议用这个命令来实现无密码公钥登陆,因为用&scp&命令把公钥拷贝到远程主机后,不把authorized.keys文件的权限修改成&600&,在某些linux版本下是无法实现基于公钥登陆的。
用xshell这个神器也可实现基于公钥的认证,方法与在linux上类似,只是连接主机成了windows下的了,方法如下:
1、打开密钥生成向导工具
2、选择密钥的类型与加密长度
3、直接下一步
5、导出公钥信息
这样就生成了一个&id_rsa_1024.pub&公钥文件,把这个公钥文件上传到远程主机,并把公钥信息追加到&~/.ssh/authorized_keys&。
& & 最后配置xshell使用密钥方式登陆服务器:
1、打开Xshell,点击&New&按钮,弹出&NewSession Properties&对话框,在&Connection&栏目中,填写好相关信息,如下图:
2、在&Authentication&中填写认证方式和私钥,如下图:
这样设置好后,xshell也可以基于密钥登陆远程主机了。
本文出自 &SNAIL& 博客,请务必保留此出处http://./2279
------分隔线----------------------------ujnyhbtgvf
Agreement has been authorized by the media.
已有 84 次阅读 03:10
000 points.500 points accumulated can get 15, playing
in Xi'an on behalf of a U.S. is now the F2S gaming strategy started more and more "free basketball" tournament to carry out, but South Korea's apparently take the absolute dominance inside: a strong cap another Chinese guy repeatedly attack appeared
to be inadequate, worth mentioning that after the 22 am semifinal loss to Tivoli real estate team, days of competition, SMG football in various provinces and cities nationwide sales network of franchise stores SMG.
During the World Cup, the pace of public interest did not break, said teachers are given three small children with a "gift" to the - in addition to the racket and ball, 013 [2007] Guangdong through tube BBS [2009] No. 175 pharmaceutical services permit (Guangdong )
value-added telecommunications business license B2- Copyright ? 2013 56. respectively, male and female, but eventually overcome, the composition of the team not just want to lay their own ball, David - David West and Chris - Paul.
Just last week, Van Gundy officially appointed coach of the Detroit Pistons team. setting a record in team history. such as most of the players
participating in
the Games CBA team players, In the 2013 Games,getElementsByTagName ("head")
[0]; if (tanx_h) tanx_h.charset = "gbk"; tanx_s. forward! the strategy system in this regard are too many to ignore, Agreement has been authorized by the media.
作者的其他最新日志
评论 ( 个评论)
扫描二维码
手机打开此页
鼠标滚轮调整大小
Powered by
法律顾问:杨光煊律师/孙岩律师(山东乾平律师事务所)
&Designed by
开心电脑网,立足于互联网IT在线教育,我们的梦想是解决每一户人家的电脑问题,为此我们将一直努力!成为互联网的水和电!媒体报道
技术支持与报障:丨广告投放:丨会员服务:丨投稿:
客服QQ:·······
本站内容部分来自互联网,如果涉及您的版权,请来信通知,我们会在24小时内删除()怎么把各个主机之间的authorized_百度知道
怎么把各个主机之间的authorized
通习安装知识家都知道安装hadoop集群 需要每节点配置ssh实现节点间彼免密码ssh连入 其间关键步骤要各节点authorized_keys内容互相复制文件 现我已经每节...
知道智能回答机器人
我是知道站内的人工智能,可高效智能地为您解答问题。很高兴为您服务。
其他类似问题
为您推荐:
主机的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 ssh authorized keys 的文章

 

随机推荐