在集群管理和配置中有很多命令要在各个节点中发送(特别是Master->Worker),大家都不希望发送每一个命令时都输入一次密码,因此常常先配置实现Master无密码登录到所有的Worker节点。由于大多的Linux发行版本都预装有openssh-client,常用的方法就是使用ssh来实现免密码登录,下面以Ubuntu为例说下ssh的相关配置及注意事项

  网上有关ssh-keygen命令的介绍可找到很多,想了解更多可参考这篇博文(ssh-keygen命令的用法[转]

  在Master的终端中输入:ssh-keygen -t rsa

  会有以下输出:

Generating public/private rsa key pair.
Enter file in which to save the key (/home/liang/.ssh/id_rsa): //直接回车
Created directory '/home/liang/.ssh'.
Enter passphrase (empty for no passphrase): //直接回车
Enter same passphrase again: //直接回车
Your identification has been saved in /home/liang/.ssh/id_rsa.
Your public key has been saved in /home/liang/.ssh/id_rsa.pub.
The key fingerprint is:
c7::ac:::::f0:f1::f1:6f::4f:6c:f2 liang@liang-pc
The key's randomart image is:
+--[ RSA ]----+
| o +.ooo|
| . + +.=B|
| . + .*=|
| . * . E|
| S * o|
| o . |
| |
| |
| |
+-----------------+

  此时在用户目录下生成.ssh文件夹(默认是隐藏的,可使用ctrl+h命令来 显示/隐藏 隐藏文件),将.ssh下的id_rsa文件内容copy到Worker节点用户目录下的.ssh/authorized_keys中(~/.ssh/authorized_keys),如果配置完还不能无密码访问,可修改下authorized_keys的权限试下,命令:chmod 600 authorized_keys。


ubuntu中安装使用sshkey产生key以后,使用ssh localhost测试一下,出现错误提示:connect to host localhost port 22:Connection refused错误,造成这个错误的原因是由于ssh-server没有安装或者没有启动。ubuntu中默认只安装openssh-client,可以使用sshkey等命令,让我误以为已经将openssh-server也安装了
1、使用命令ps -e | grep ssh,发现只有一个ssh-agent进程,没有sshd相关进程,说明ssh-server没有启动
2、使用命令/etc/init.d/ssh -start启动server进程,提示ssh不存在,才发现没有安装server
3、使用命令sudo apt-get install openssh-server命令安装,提示:
下列软件包有未满足的依赖关系:
 openssh-server : 依赖: openssh-client (= 1:5.9p1-5ubuntu1.4) 但是 1:6.0p1-3ubuntu1.2 正要被安装
说明ubuntu提供的openssh-client是6.0p1-3ubuntu1.2版本的,而提供的openssh-server是5.9p1-5ubuntu1.4版本的,所以会有以上提示,这点搞得太不好了(后来想想可能是我更换了软件源的事)
4、解决此类的问题的方法是让client和server的版本一致,我为了图方便直接在开源中国镜像站中下载了openssh-server_6.0p1-3ubuntu1.2_i386.deb,双击安装,问题解决。
 

  
一切就绪后可在终端上输入ssh localhost date测试下是不是配置正确
liang@liang-pc:~$ ssh localhost date
The authenticity of host 'localhost (127.0.0.1)' can't be established.
ECDSA key fingerprint is 8d:f7:ae::3c::::b3:c8:5e::7b::b1:b2.
Are you sure you want to continue connecting (yes/no)? //输入yes,若直接回车会Host key verification failed.
Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts.
2015年 01月 05日 星期一 14:55:29 CST
liang@liang-pc:~$ ssh localhost date//再次输入
2015年 01月 05日 星期一 14:55:33 CST

ssh使用笔记的更多相关文章

  1. ssh自学笔记

    Ssh自学笔记 Ssh简介 传统的网络服务程序,如:ftp.pop和telnet在本质上都是不安全的,因为它们在网络上用明文传送口令和数据,别有用心的人非常容易就可以截获这些口令和数据.而且,这些服务 ...

  2. SSH学习笔记

    Struts2登录模块处理流程: 浏览器发送请求http://localhost/appname/login.action,到web应用服务器: 容器接收到该请求,根据web.xml的配置,服务器将请 ...

  3. [SSH] SSH学习笔记 - 远程登录

    1.SSH登陆/登出命令 $ ssh <hostname> #登入 $ exit #登出 known_hosts 每个用户都有自己的known_hosts文件,路径:(username)/ ...

  4. [JavaEE] SSH框架笔记_eclipse搭建SSH框架详解

    SSH框架是最常用的框架之一,在搭建SSH框架的时候总有人遇到这样,那样的问题.下面我介绍一下SSH框架搭建的全过程. 第一步:准备工作. 下载好eclipse,Struts2,Spring,Hibe ...

  5. [Java] SSH框架笔记_S2SH整合步骤

    http://tech.ddvip.com/2009-09/1253783051134206.html http://www.blogjava.net/liu0909/archive/2009/07/ ...

  6. [Java] SSH框架笔记_框架整合示例(一)

    本文描述的是框架SSH集成的示例,由于在这个过程中有一些小的细节容易被遗忘,特别撰写了一篇小的博文来记录这个过程,希望对自己以及后来者能够起到积极意义. 本文中使用的框架和版本号为: struts-2 ...

  7. [Java] SSH框架笔记_框架分析+环境搭建+实例源码下载

    首先,SSH不是一个框架,而是多个框架(struts+spring+hibernate)的集成,是目前较流行的一种Web应用程序开源集成框架,用于构建灵活.易于扩展的多层Web应用程序. 集成SSH框 ...

  8. SSH整合笔记

    SSH:spring+struts+hibernate. 一:所需jar: 需要注意的是: hibernate+spring需要Spring-orm-xxx.jar struts+spring需要st ...

  9. ssh登陆笔记📒

    ssh的配置 ssh的配置文件在/etc/ssh下,有两种配置文件,ssh_config和sshd_config. ssh_config是针对客户端的配置文件, sshd_config是针对服务端的配 ...

  10. SSH阅读笔记

    1.SSH单阶人脸段检测器,在不同层检测不同scale的人脸,而不是使用mtcnn中金字塔的方式,从而实现加速. 2.SSH的整体结构,3个module的stride分别为8,16,32,使用不同的感 ...

随机推荐

  1. 封装函数通过输入(元素,属性,目标值)改变div样式

    ## 假设一个div样式如下```html<!DOCTYPE html><html lang="en"> <head> <meta cha ...

  2. HDU - 4788 Hard Disk Drive (成都邀请赛H 水题)

    HDU - 4788 Hard Disk Drive Time Limit:1000MS   Memory Limit:32768KB   64bit IO Format:%I64d & %I ...

  3. Ubuntu 18.04中的Vim编辑器的高级配置

    VIM (Unix及类Unix系统文本编辑器) Vim是一个类似于Vi的著名的功能强大.高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性.VIM是开源软件. Vim普遍被推崇为类Vi编辑器中 ...

  4. 跨域知识(一)——CORS

    CORS是一个W3C标准,全称是"跨域资源共享"(Cross-origin resource sharing). 它允许浏览器向跨源服务器,发出XMLHttpRequest请求,从 ...

  5. 【JZOJ4854】【NOIP2016提高A组集训第6场11.3】小澳的坐标系

    题目描述 小澳者表也,数学者景也,表动则景随矣. 小澳不喜欢数学,可数学却待小澳如初恋,小澳睡觉的时候也不放过. 小澳的梦境中出现了一个平面直角坐标系,自原点,向四方无限延伸. 小澳在坐标系的原点,他 ...

  6. 微信小程序左滑显示按钮demo

    wxml结构(删除部分代码): <view class="chapter-item" wx:for="{{klgData}}" data-index=&q ...

  7. 2017 ACM-ICPC 亚洲区(南宁赛区)网络赛 M. Frequent Subsets Problem【状态压缩】

    2017 ACM-ICPC 亚洲区(南宁赛区)网络赛  M. Frequent Subsets Problem 题意:给定N和α还有M个U={1,2,3,...N}的子集,求子集X个数,X满足:X是U ...

  8. python生成器和各种推导式

    一. 生成器 本质就是迭代器. 一个一个的创建对象 创建生成器的方式: 1. 生成器函数 2. 通过生成器表达式来获取生成器 3. 类型转换(看不到) 二. 生成器函数 (重点) 生成器函数中包含 y ...

  9. TensorFlow 池化层

    在 TensorFlow 中使用池化层 在下面的练习中,你需要设定池化层的大小,strides,以及相应的 padding.你可以参考 tf.nn.max_pool().Padding 与卷积 pad ...

  10. kubernetes API 访问控制在阿里云容器服务(ACK)上的实践

    提起K8s API的访问控制,很多同学应该都会想到RBAC,这是K8s用来做权限控制的方法,但是K8s对API的访问控制却不止于此,今天我们就来简单介绍下K8s的访问控制以及ACK如何利用这套方法提供 ...