当前位置: 首页 > news >正文

ubuntu集群下ssh配置总结

最重要的前提就是:集群中的所有机器的用户名和用户组必须一样

一般做法都是在每台机器上新建用户组和用户名。

比如:sudo addgroup sparks 新建用户组sparks;

   sudo adduser spark sparks 在新建用户组sparks中添加用户spark

   sudo adduser spark sudo 添加sudo权限

补充说明:

   ubuntu默认root是不能使用,这一点个人感觉不如cntos方便,命令经常要加sudo

继续说ssh的事情,步骤:

   1.首先确认每台机器都安装了openssh-server,ubuntu默认安装了openssh-client

     查看方法:ps -e |grep ssh

          1028 ?        00:00:00 sshd     已安装

         如果没有,执行sudo apt-get install openssh-server安装即可

   2.分别先在每台机器执行 ssh-keygen -t rsa ,当然rsa只是一种方式,也可以用别的,比如dsa

     具体ssh-keygen 可以查看help

     会在~/ 目录下生成 .ssh文件,原来是没有cd ~/.ssh 可以看到id_rsa.pub(公钥)和id_rsa(私钥)

   3.主从式集群结构master和slave

                  将每台slave的公钥拷贝到master

     例如:在slave1机器上

                  scp ~/.ssh/id_rsa.pub spark@master:~/.ssh/pub1

                   在slave2机器上

                  scp ~/.ssh/id_rsa.pub spark@master:~/.ssh/pub2

                  …………………

   4.在master的~/.ssh下,将pub1,pub2等等追加到authorized_keys文件

      authorized_keys该文件默认是不存在(除非以前配过ssh)

                  直接cat pub1 pub2 >> authorized_keys

           5.    将包含所有机器公钥的authorized_keys在分发给所有的slave,即可

     scp ~/.ssh/authorized_keys spark@slave1:~/.ssh/

           以上演示主要是说明原理,实际工作均用脚本化完成!     

           然后就可以在任意机器无密码访问别的机器

           ssh slave1

           如果出现:

     Agent admitted failure to sign using the key

   执行ssh-add即可!

 

      

相关文章:

  • 使用css3属性,大部分浏览器要识别前缀
  • 暴搜 - Codeforces Round #327 (Div. 2) E. Three States
  • iOS中正确的截屏姿势
  • Android Volley框架的使用(三)
  • IP工具类-自己动手做个ip解析器
  • CSS3 变换
  • 前端之React实战:创建跨平台的项目架构
  • 驱动的加载与卸载例程(C++/C)
  • 寻找
  • Apache 文件根目录设置修改方法 (Document Root)
  • UIView之【UIViewContentMode】
  • Oracle 错误总结及问题解决 ORA
  • android之intent显式,显式学习
  • Daily Scrum - 11/19
  • 标签禁用之readonly和disabled
  • JavaScript-如何实现克隆(clone)函数
  • 【140天】尚学堂高淇Java300集视频精华笔记(86-87)
  • gops —— Go 程序诊断分析工具
  • HTTP中GET与POST的区别 99%的错误认识
  • JAVA并发编程--1.基础概念
  • MySQL QA
  • Node项目之评分系统(二)- 数据库设计
  • 从tcpdump抓包看TCP/IP协议
  • 后端_MYSQL
  • 推荐一个React的管理后台框架
  • 原生JS动态加载JS、CSS文件及代码脚本
  • 字符串匹配基础上
  • ​学习一下,什么是预包装食品?​
  • #我与Java虚拟机的故事#连载12:一本书带我深入Java领域
  • ${factoryList }后面有空格不影响
  • ( )的作用是将计算机中的信息传送给用户,计算机应用基础 吉大15春学期《计算机应用基础》在线作业二及答案...
  • (C语言)strcpy与strcpy详解,与模拟实现
  • (ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY)讲解
  • (笔试题)合法字符串
  • (附源码)ssm高校升本考试管理系统 毕业设计 201631
  • (论文阅读23/100)Hierarchical Convolutional Features for Visual Tracking
  • (五)网络优化与超参数选择--九五小庞
  • (原創) X61用戶,小心你的上蓋!! (NB) (ThinkPad) (X61)
  • (转)EXC_BREAKPOINT僵尸错误
  • .describe() python_Python-Win32com-Excel
  • .net core 6 使用注解自动注入实例,无需构造注入 autowrite4net
  • .net core 控制台应用程序读取配置文件app.config
  • .Net Core 中间件验签
  • .net core使用ef 6
  • .Net IOC框架入门之一 Unity
  • .net 设置默认首页
  • .Net多线程总结
  • ?php echo $logosrc[0];?,如何在一行中显示logo和标题?
  • @ModelAttribute 注解
  • @拔赤:Web前端开发十日谈
  • [20161101]rman备份与数据文件变化7.txt
  • [20171106]配置客户端连接注意.txt
  • [AMQP Connection 127.0.0.1:5672] An unexpected connection driver error occured
  • [c++] 什么是平凡类型,标准布局类型,POD类型,聚合体
  • [CISCN2019 华东南赛区]Web11