百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 网站模板(百分百源码网)>电脑软件>服务器> 两台服务器之间无密码传输数据和操纵的要领
分享本文到:

两台服务器之间无密码传输数据和操纵的要领

发布时间:05/16 来源:未知 浏览: 关键词:

我们晓得要是要向长途服务器传输数据和操纵必须输入会员名和密码长途登录服务器 ,或用FTP等协定,都需要权限控制。

  然而要是是两台服务器间的软件需要通信和数据传输,如hadoop集群中机器互访,是不是每次也要输入会员名和密码?那是不是很费事?下面介绍SSH来解决这个题目(不是JAVA中的SSH概念)

SSH是一种网络协定,用于盘算机之间的加密登录。

要是一个会员从当地盘算机,运用SSH协定登录另一台长途盘算机,我们就可以以为,这种登录是平安的,即便被中途截获,密码也不会泄露。

最早的时候,互联网通讯都是明文通讯,一旦被截获,内容就袒露无疑。1995年,芬兰学者Tatu Ylonen设计了SSH协定,将登录信息全部加密,成为互联网平安的一个根本解决方案,快速在全天下获得推行,当前已经成为Linux系统的规范配置。

需要指出的是,SSH只是一种协定,存在多种实现,既有商业实现,也有开源实现。本文针对的实现是OpenSSH,它是自在软件,利用非常宽泛。

此外,本文只计议SSH在Linux Shell中的用法。要是要在Windows系统中运用SSH,会用到另一种软件PuTTY

Hadoop运转历程中需要治理远端Hadoop守护进程,在Hadoop启动今后,NameNode是通过SSH(Secure Shell)来启动和休止各个DataNode上的各种守护进程的。

这就必须在节点之间施行指令的时候是不需要输入密码的情势,故我们需要配置SSH使用无密码公钥认证的情势,这样NameNode运用SSH无密码登录并启动DataName进程,一样道理,DataNode上也能运用SSH无密码登录到NameNode。

  下面就安装总结一下网友和本人的经验。

环境

  CentOS7.0

安装 

yum install ssh 安装SSH协定
yum install rsync (rsync是一个长途数据同步工具,可通过LAN/WAN迅速同步多台主机间的文件)
service sshd restart 启动服务

查看安装

rpm –qa | grep openssh
rpm –qa | grep rsync

  为以免费事,每个服务器上都要装。

配置Master无密码登录所有Salve

  1)SSH无密码道理

  Master(NameNode | JobTracker)作为客户端,要实现无密码公钥认证,连贯到服务器Salve(DataNode | Tasktracker)上时,需要在Master上生成一个密钥对,包括一个公钥和一个私钥,而后将公钥复制到所有的Slave上。当Master通过SSH连贯Salve时,Salve就会生成一个随机数并用Master的公钥对随机数进行加密,并发送给Master。Master收到加密数之后再用私钥解密,并将解密数回传给Slave,Slave确认解密数无误之后就允许Master进行连贯了。这就是一个公钥认证历程,其间不需要会员手工输入密码。重要历程是将客户端Master复制到Slave上。

  2)Master机器上生成密码对

   在Master节点上施行下列下令:

ssh-keygen –t rsa –P ''

  这条命是生成其无密码密钥对,扣问其保留途径时直接回车采纳默许途径。生成的密钥对:id_rsa和id_rsa.pub,默许存储在"/home/hadoop/.ssh"目录下(每台服务器看各自的生成途径信息 由于hadoop为会员名,所以生成在目前会员名下)。

  查看"/home/hadoop/"下是否有".ssh"文件夹,且".ssh"文件下是否有两个刚生产的无密码密钥对。

  接着在Master节点上做如下配置,把id_rsa.pub追加到授权的key里面去。

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

  在验证前,需要做两件事儿。第一件事儿是修改文件"authorized_keys"权限(权限的设置非常重要,由于不平安的设置平安设置,会让你不能运用RSA功能),另一件事儿是用root会员设置"/etc/ssh/sshd_config"的内容。使其无密码登录有效。

  1)修改文件"authorized_keys"

chmod 600 ~/.ssh/authorized_keys

  备注:要是不进行设置,在验证时,扔提醒你输入密码,在这里破费了将近半天工夫来查找缘由。

  2)设置SSH配置

  用root会员登录服务器修改SSH配置文件"/etc/ssh/sshd_config"的以下内容。

RSAAuthentication yes # 启用 RSA 认证
PubkeyAuthentication yes # 启用公钥私钥配对认证方式
AuthorizedKeysFile .ssh/authorized_keys # 公钥文件途径(和上面生成的文件同)

  设置完之后记得重新启动SSH服务,才能使方才设置有效。

service sshd restart

  退出root登录,运用hadoop普通会员验证是否成功。

ssh localhost

  从上图中得知无密码登录本级已经设置结束,接下来的事儿是把公钥复制所有的Slave机器上。运用下面的下令格局进行复制公钥:

scp ~/.ssh/id_rsa.pub 长途会员名@长途服务器IP:~/

  例如:

scp ~/.ssh/id_rsa.pub hadoop@192.168.1.3:~/

  上面的下令是复制文件"id_rsa.pub"到服务器IP为"192.168.1.3"的会员为"hadoop"的"/home/hadoop/"下面。

  下面就针对IP为"192.168.1.3"的Slave1.Hadoop的节点进行配置。

  1)把Master.Hadoop上的公钥复制到Slave1.Hadoop上

  从上图中我们得知,已经把文件"id_rsa.pub"传已往了,由于并没有创立起无密码连贯,所以在连贯时,依然要提醒输入输入Slave1.Hadoop服务器会员hadoop的密码。为了确保的确已经把文件传已往了,用SecureCRT登录Slave1.Hadoop:192.168.1.3服务器,查看"/home/hadoop/"下是否存在这个文件。

  从上面得知我们已经成功把公钥复制已往了。

  2)在"/home/hadoop/"下新建".ssh"文件夹

  这一步并不是必须的,要是在Slave1.Hadoop的"/home/hadoop"已经存在就不需要新建了,由于我们以前并没有对Slave机器做过无密码登录配置,所以该文件是不存在的。用下面下令进行新建。(备注:用hadoop登录系统,要是不波及系统文件修改,个别状况下都是用我们以前创立的普通会员hadoop进行施行下令。)

mkdir ~/.ssh

  然后是修改文件夹".ssh"的会员权限,把他的权限修改为"700",用下面下令施行:

chmod 700 ~/.ssh

  备注:要是不进行,即便你按照前面的操纵设置了"authorized_keys"权限,并配置了"/etc/ssh/sshd_config",还重新启动了sshd服务,在Master能用"ssh localhost"进行无密码登录,但是对Slave1.Hadoop进行登录依然需要输入密码,就是由于".ssh"文件夹的权限设置不对。这个文件夹".ssh"在配置SSH无密码登录时系统主动生成时,权限主动为"700",要是是本人手动新建,它的组权限和其他权限都有,这样就会导致RSA无密码长途登录失败。

  对照上面两张图,发明文件夹".ssh"权限已经变了。

  3)追加到授权文件"authorized_keys"

  到当前为止Master.Hadoop的公钥也有了,文件夹".ssh"也有了,且权限也修改了。这一步就是把Master.Hadoop的公钥追加到Slave1.Hadoop的授权文件"authorized_keys"中去。运用下面下令进行追加并修改"authorized_keys"文件权限:

cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

  4)用root会员修改"/etc/ssh/sshd_config"

  具体步骤参考前面Master.Hadoop的"设置SSH配置",具体分为两步:第1是修改配置文件;第2是重新启动SSH服务。

  5)用Master.Hadoop运用SSH无密码登录Slave1.Hadoop

  目前面的步骤设置结束,就可以运用下面下令格局进行SSH无密码登录了。

  ssh 长途服务器IP

  从上图我们主要3个地方,第1个就是SSH无密码登录下令,第2、3个就是登录先后"@"背面的机器名变了,由"Master"变为了"Slave1",这就注明我们已经成功实现了SSH无密码登录了。

  最后记得把"/home/hadoop/"目录下的"id_rsa.pub"文件删除掉。

rm –r ~/id_rsa.pub


  到此为止,我们经过前5步已经实现了从"Master.Hadoop"到"Slave1.Hadoop"SSH无密码登录,下面就是反复上面的步骤把剩余的Slave服务器进行配置。这样,我们就完成了"配置Master无密码登录所有的Slave服务器"。

扩展

要是实现Slave服务器无密码登录Master?

以上所述是小编给大家介绍的两台服务器之间无密码传输数据和操纵的要领,但愿对大家有所帮忙,要是大家有任何疑难请给我留言,小编会及时回复大家的。在此也非常谢谢大家对我们网站的支撑!

热门标签:dede模板 / destoon模板 / dedecms模版 / 织梦模板
责任编辑:ipT9G
打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有154人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助



订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板