一、SSH来源

对于需要远程管理其它机器,一般使用远程桌面或者telnet。linux一般只能是telnet。但是telnet的缺点是通信不加密,存在不安全因素,只适合内网访问。

为解决这个问题,推出了通信加密通信协议,即SSH(Secure Shell)。使用非对称加密方式,传输内容使用rsa或者dsa加密,可以避免网络窃听。

hadoop的进程之间同信使用ssh方式,需要每次都要输入密码。为了实现自动化操作,需要配置ssh免密码登陆方式。

二、ssh原理

步骤详解:

图中黑色步骤线见“三、配置”

绿色步骤线:

weekend110访问spark01

1、weekend110带上自己的用户名和域名向spark01请求登录。

2、spark01收到后,查看免密登录授权列表,查看里面是否有weekend110对应的公钥。

3、spark01找到公钥后,随机生成一个字符串用weekend110对应的公钥进行加密,发给weekend110.

4、weekend110收到spark01的密文,用自己的私钥进行解密,获得一个明文。

5、weekend110将解密结果发送给spark01.

6、spark01验证weekend110发来的明文与之前生成的随机字符串核对。

7、一致则spark01通过weekend110的登录请求。

三、配置

三个节点m1主、s1、s2

主节点m1配置:

首先到用户主目录(cd  ~),ls  -a查看文件,其中一个为“.ssh”,该文件价是存放密钥的。待会我们生成的密钥都会放到这个文件夹中。

----------------------------------
现在执行命令生成密钥: ssh-keygen -t rsa (使用rsa加密方式生成密钥)回车后,会提示三次输入信息,我们直接回车即可。即回车四下。

----------------------------------
进入文件夹cd  .ssh (进入文件夹后可以执行ls  -a 查看文件)

创建文件 authorized_keys。命令touch authorized_keys

修改authorized_keys文件权限为 600,命令:chmod 600 authorized_keys

将生成的公钥id_rsa.pub 内容追加到authorized_keys(执行命令:cat id_rsa.pub >> authorized_keys)

从节点配置:

s1,s2以同样的方式生成秘钥(ssh-keygen -t rsa ),然后s1和s2将生成的id_rsa.pub公钥追加到m1authorized_keys中)

----------------------------------

在s1中执行命令:scp id_rsa.pub m1:/root/.ssh/id_rsa.pub.s1,将s1的公钥copy到m1上。

在s2中执行命令:scp id_rsa.pub m1:/root/.ssh/id_rsa.pub.s2,将s2的公钥copy到m1上。

---------------------------------
进入m1执行命令:cat id_rsa.pub.s1 >> authorized_keys ,cat id_rsa.pub.s1 >> authorized_keys。将s1,s2的公钥加入m1的authorized_keys文件中。

----------------------------------

最后将生成的包含三个节点的公钥的authorized_keys 复制到s1和s2的.ssh目录下

( scp authorized_keys s1:/root/.ssh/, scp authorized_keys s2:/root/.ssh/)

这样三个节点的authorized_keys 都有了自身节点的公钥和其他节点的公钥,如此节点间和节点自身都可以互相ssh免密码登录,启动hadoop时可以不用输入密码了。

*****************************************************

以上的配置方法是 两台机器可以互相ssh免密登录。

但有时候只想S1免密登录S2,反之则不可以。怎么办?

用ssh-copy-id  域名  这个命令。

操作:

在S1生成ssh秘钥后。

在S1上输入命令:

ssh-copy-id  S1   //先把自己的公钥拷贝到自己机子上

ssh-copy-id  S2   //把自己的公钥拷贝到S2的机子上。S2不需要用ssh-keygen

四、验证ssh免密码登录

输入命令ssh  localhost(主机名) 根据提示输入“yes” 
输入命令exit注销(Logout)
再次输入命令ssh localhost即可直接登录

Linux设置ssh免密码登录相关推荐

  1. Linux初窥:Linux下SSH免密码登录配置

    目录 环境设置(root权限) 1.关闭防火墙和SELinux 2.设置主机名 3.配置hosts 4.配置sshd 秘钥设置 1.创建免密码登录账户 2.生成秘钥 3.将公钥导入到认证文件 4.设置 ...

  2. hadoop设置ssh免密码登录

    对于需要远程管理其它机器,一般使用远程桌面或者telnet.linux一般只能是telnet.但是telnet的缺点是通信不加密,存在不安全因素,只适合内网访问.为 解决这个问题,推出了通信加密通信协 ...

  3. Linux配置SSH免密码登录(非root账号)

    Linux环境下,经常通过SSH从一台服务器登录到另一台服务器,并且登录身份不是root账号,每次都要输入密码挺麻烦的,所以今天就来实战如何配置非root账号的免密码登录: 实战环境 本次实战环境是三 ...

  4. linux节点ssh免密码登录linux节点

    需求 节点A要ssh免密码登录节点B. 1.产生密钥 节点A和B都要产生秘钥,并且要注意是否在root用户下,登录对象是用户,而不是机器,所以产生密钥前先从root或者其他用户切换到你说需要的用户.然 ...

  5. Linux主机SSH免密码登录设置

    主机A ①ssh-keygen -t rsa,默认都按enter ②cd .ssh && cp id_rsa.pub authorized_keys ②chmod 600 id_rsa ...

  6. Linux之间ssh免密码登录

    为什么80%的码农都做不了架构师?>>>    一.生成公私钥对 $ ssh-keygen -t rsa -P '' Generating public/private rsa ke ...

  7. Linux设置ssh免密登录

    目录 1.在/root目录下输入命令 2.进入.ssh目录 3.将公钥id_rsa.pub写入到一个认证文件夹中 4.开启远程免密登录配置 5.免密远程登录本机 1.在/root目录下输入命令 [ro ...

  8. linux 无密码登录另一台服务器,ECS Linux服务器ssh免密码登录另外一台服务器的具体设置...

    若有多台linux服务器,为方便起见,服务器之前可设置免密码ssh登录,具体操作参考如下所示: 1 .登录其中一个服务器,执行ssh-keygen -t rsa,按3次回车,将会生成公钥和私钥文件id ...

  9. ubuntu16.04设置ssh免密码登录

    在node1节点远程登录node2节点 node1: sudo apt-get remove ssh sudo apt-get install ssh node2: sudo apt-get remo ...

最新文章

  1. 使用Python,OpenCV进行Tesseract-OCR绑定及识别
  2. Angular里的structural directive的一个例子
  3. 计组—原码、补码、反码、移码复习
  4. 窥探Swift编程之强大的Switch
  5. linux操作系统之子进程回收函数wait和waitpid函数小结
  6. [css] 如何让一个块元素绝对居中?
  7. leetcode 实现 strStr()
  8. 苹果推送iOS13.1.3更新:iOS13发布仅一个月疯狂补Bug
  9. 关于.netMVC 出现@ViewBag 出现错误(波浪红线)的解决方法
  10. 罗技 连点 脚本_罗技 G502 无线版体验:告别了线材,而且变得更轻了
  11. 推荐Linux音乐播放器:咪咕音乐
  12. QT Creator 5.1.2中英文切换
  13. 通过Ubuntu16.04编译Android下的osip动态库
  14. 编译原理-递归子程序法
  15. 微信小程序、uniapp、H5——发送、显示emoji表情
  16. 从零开始搭建服务器之登录和登出远程服务器
  17. Asp.Net MVC中身份认证和授权
  18. kibana启动报错 Elasticsearch cluster did not respond with license information
  19. 牛客网语法篇练习函数类型(全)
  20. 博弈论在自动驾驶方向的应用(Ⅲ)

热门文章

  1. cfar恒虚警matlab实现,一种用于距离副瓣抑制的自适应恒虚警方法与流程
  2. oracle全局批准供应商,Oracle EBS-SQL (PO-7):检查异常-非批准的供应商设置供货比例.sql...
  3. webpack+react+redux+es6开发模式
  4. python嵌套列表操作_python基础(list列表的操作,公共方法,列表嵌套,元祖)...
  5. conda install 换源_ubuntu更换pip install,apt-get,conda install 成国内源
  6. mysql多客户端数据不同步_一种多终端设备上的数据同步方法
  7. 表格里面怎么打多个√_Excel怎样在表格里打√?
  8. python keyerror_盘点Python 初学者最容易犯的10大错误!你中招了吗?
  9. java 建造者实际中的用法_java中j建造者模式详解和使用方法
  10. 1562a检测软件_洛达1562a空间音频版评测!!!