在集群管理和配置中有很多命令要在各个节点中发送(特别是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. 遇到的bug

    1  div出现莫名其妙的空白bug 之前写了一个后台管理系统,项目不小加上是改版,很多的js都是用的之前的,  bug多到自己都不想看, 其中有个是用iframe 框架加载表格页面,但是右边跟下边出 ...

  2. jquery 浏览器缓存网页

    头部:<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate&q ...

  3. Objectarx之分批存储相连实体

    void CCommonFuntion::BatchStorageEnt(AcDbObjectIdArray& inputId, std::vector<std::vector<A ...

  4. bzoj2424 订货

    Description 某公司估计市场在第i个月对某产品的需求量为Ui,已知在第i月该产品的订货单价为di,上个月月底未销完的单位产品要付存贮费用m,假定第一月月初的库存量为零,第n月月底的库存量也为 ...

  5. JavaScript--模拟百度搜索下拉li

    上效果: 主要思路: 函数indexOf() .join().innerHTML的使用,还有 用完的数组要清空 <!DOCTYPE html> <html> <head ...

  6. Date日期类,Canlendar日历类,Math类,Random随机数学类

    Date日期类,SimpleDateFormat日期格式类 Date  表示特定的时间,精确到毫秒 常用方法 getTime() setTime() before() after() compareT ...

  7. HZOJ Permutation

    输出原序列有45分…… 字典序最小可以和拓扑序联系起来. 根据原来的题意不是很可做,于是对原序列求逆,令q[p[i]]=i; 那么就成功将题意转化:相邻元素值的差大于等于k时可以交换,使序列字典序最小 ...

  8. React Native-组件的引用

    之前文章中,我们使用了许多React Native组件,也定义了一些组件.但是我们都没有定义组件的标识,我们都是通过回调方法处理组件对应的事件,这种情况能满足绝大多数需求,有些情况我们需要对组件进行操 ...

  9. UVa-10986_Sending email (向前星+Dijkstra)

    题意:给你点.边,求起点到终点的最短距离. 题解:由于题目的数据量特别大,所以需要用邻接表来存边,之后对Dijkstra算法稍微魔改一下就可以了,本来以为会超时,做好了打堆优化的准备,结果卡时间过了, ...

  10. HZOJ 斐波那契(fibonacci)

    先说一个规律: 如图将每个月出生的兔子的编号写出来,可以发现一只兔子在哪一列他的父亲就是谁. 每列的首项可以通过菲波那契求得. 然后你就可以像我一样通过这个规律打表每个点的父亲,预处理出倍增数组,倍增 ...