时间:2021-05-24
搭建Hadoop环境需要设置无密码登陆,所谓无密码登陆其实是指通过证书认证的方式登陆,使用一种被称为"公私钥"认证的方式来进行ssh登录。在linux系统中,ssh是远程登录的默认工具,因为该工具的协议使用了RSA/DSA的加密算法.该工具做linux系统的远程管理是非常安全的。telnet,因为其不安全性,在linux系统中被搁置使用了。
" 公私钥"认证方式简单的解释:首先在客户端上创建一对公私钥 (公钥文件:~/.ssh/id_rsa.pub; 私钥文件:~/.ssh/id_rsa)。然后把公钥放到服务器上(~/.ssh/authorized_keys), 自己保留好私钥.在使用ssh登录时,ssh程序会发送私钥去和服务器上的公钥做匹配.如果匹配成功就可以登录了。
1、确认系统已经安装了SSH。
rpm –qa | grep openssh
rpm –qa | grep rsync
-->出现如下图的信息表示已安装
假设没有安装ssh和rsync,可以通过下面命令进行安装。
yum install ssh-->安装SSH协议
yum install rsync-->rsync是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件
service sshd restart-->启动服务
2、生成秘钥对
ssh-keygen –t rsa –P '' -->直接回车生成的密钥对:id_rsa和id_rsa.pub,默认存储在"/home/hadoop/.ssh"目录下。
3、把id_rsa.pub追加到授权的key里面去。
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
4、修改授权key的权限
chmod 600 ~/.ssh/authorized_keys
5、修改SSH配置文件
su --->登陆root用户修改配置文件
vim /etc/ssh/sshd_config-->去掉下图中三行的注释
6、测试连接
service sshd restart -->重启ssh服务,
exit-->退出root用户,回到普通用户
ssh localhost-->连接普通用户测试
这只是配置好了单机环境上的SSH服务,要远程连接其它的服务器,接着看下面。
7、现在秘钥对已经生成好了,客户端SSH服务也已经配置好了,现在就把我们的钥匙(公钥)送给服务器。
scp ~/.ssh/id_rsa.pub 远程用户名@远程服务器IP:~/-->将公钥复制到远程服务器的~/目录下
如: scp ~/.ssh/id_rsa.pub hadoop@192.168.1.134:~/
可以看到我们复制的时候需要我们输入服务器的密码,等我们把SSH配置好之后这些步骤就可以不用输入密码了。
8、上一步把公钥发送到192.168.1.134服务器上去了,我们去134机器上把公钥追加到授权key中去。
注意:如果是第一次运行SSH,那么.ssh目录需要手动创建,或者使用命令ssh-keygen -t rsa生成秘钥,它会自动在用户目录下生成.ssh目录。特别注意的是.ssh目录的权限问题,记得运行下chmod 700 .ssh命令
在134机器上使用命令:cat ~/id_rsa.pub >> ~/.ssh/authorized_keys -->追加公钥到授权key中rm ~/id_rsa.pub -->保险起见,删除公钥同样在134机器上重复第四步和第五步,service sshd restart --上一步把公钥发送到192.168.1.134服务器上去了,我们去134机器上把公钥追加到授权key中去。
注意:如果是第一次运行SSH,那么.ssh目录需要手动创建,或者使用命令ssh-keygen -t rsa生成秘钥,它会自动在用户目录下生成.ssh目录。特别注意的是.ssh目录的权限问题,记得运行下chmod 700 .ssh命令
在134机器上使用命令:cat ~/id_rsa.pub >> ~/.ssh/authorized_keys -->追加公钥到授权key中rm ~/id_rsa.pub -->保险起见,删除公钥同样在134机器上重复第四步和第五步,service sshd restart -->重启ssh服务
>重启ssh服务
9、回到客户机来,输入:ssh 192.168.1.134 -->应该就能直接连接服务器咯。回到客户机来,输入:ssh 192.168.1.134 -->应该就能直接连接服务器咯。
相关推荐:
LINUX系统怎么使用命令清理磁盘空间?
linux常怎么使用命令创建文件和文件夹?
Linux怎么配置双机SSH互相信任实现免密码登录?
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
前言scp是securecopy的缩写,scp是Linux系统下基于ssh登陆进行安全的远程文件拷贝命令。Linux的scp命令可以在Linux服务器之间复制文
先确保本地Linux服务器SSH服务开启,如果没有开启直接执行指令:servicesshdstart然后我们使用ssh指令进行远程登陆复制代码代码如下:sshu
很多站长都知道远程登陆windows云服务器,却不知道如何远程登陆linux云服务器系统的,这里我们给大家做个教程。linux系统都是通过指令来操作的,没有图形
一、情景公司刚上几台Linux,现在要把主机之间都能远程ssh免密码登陆。二、原理很简单,使用ssh-keygen在主机A上生成private和public密钥
Linux免密码远程登录的实例如何通过一台Linuxssh远程其他linux服务器时,不要输入密码,可以自动登入。提高远程效率,不用记忆各台服务器的密码。1.首