前言

SSH为Secure Shell 的缩写,是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。越来越多的小伙伴们使用远程登录,而ssh安全性无疑是很高的,那么我们现在来看看如何实现ssh无密码验证配置。

一. 准备工作

Ubuntu版本:16.04.3

首先要确保你的linux系统中已经安装了ssh,对于ubuntu系统一般默认只安装了ssh client,所以还需要我们手动安装ssh server:

sudo apt-get install openssh-server

二. SSH基本原理

2.1 基本原理

SSH之所以能够保证安全,原因在于它采用了公钥加密。过程如下:

  1. 远程主机收到用户的登录请求,把自己的公钥发给用户;
  2. 用户使用这个公钥,将登录密码加密后,发送回来;
  3. 远程主机用自己的私钥,解密登录密码,如果密码正确,就同意用户登录。

2.2 基本用法

SSH默认端口号为:22,可以根据自己的需要修改默认端口号为其它,并配合使用iptables过滤来限制远程SSH登陆的ip。常用用法如下:

  # 使用默认的22端口
ssh root@192.168.0.1
# 若修改过SSH默认端口号(例如:修改为了6666),则登陆时需要指定端口号6666
ssh root@192.168.0.1 -p

三. 配置SSH无密登陆(需要root权限)

3.1 主要用与Hadoop集群配置中:

Hadoop运行过程中需要管理远端Hadoop守护进程,在Hadoop启动以后,NameNode是通过SSH(Secure Shell)来启动和停止各个DataNode上的各种守护进程的。这就必须在节点之间执行指令的时候是不需要输入密码的形式,故我们需要配置SSH运用无密码公钥认证的形式,这样NameNode使用SSH无密码登录并启动DataName进程,同样原理,DataNode上也能使用SSH无密码登录到 NameNode。

1. 无密SSH登陆到自己

  首先,运行 ssh localhost 来产生 /home/用户名/.ssh 目录,然后执行下面命令

然后通过ls -al命令查看是不是有这个隐藏的.ssh文件,如图所示:

将生成的 “ id_rsa.pub ” 追加(这里切记是追加,不是覆盖)到授权的key里面去。这样的效果是实现了当前用户无密SSH登陆到自己:

  cd ~/.ssh  # 如果找不到这个文件夹,先执行一下 "ssh localhost"
ssh-keygen -t rsa
# 将id_rsa.pub追加到authorized_keys
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

2. 如何实现无密登陆到其它的主机

  只需将生成的 “ id_rsa.pub " 追加到其它主机的 ” ~/.ssh/authorized_keys “ 中去。这里我们使用的方法是先将本机的 ” ~/.ssh/id_rsa.pub “ 拷贝到你想无密登陆的主机上,再在相应的主机上使用 ” cat " 命令将” ~/.ssh/id_rsa.pub “ 追加到该主机的 ” ~/.ssh/authorized_keys “ 中。

  # 假设我们的主机名为:A,用户名:cmfchina,ip:192.168.0.1
# 想要无密SSH登陆的主机名为:B, 用户名:cmfchina,ip:192.168.0.2 # 首先,我们使用A中的cmfchina用户拷贝 " ~/.ssh/id_rsa.pub " 到B的 " /home/cmfchina" 目录下(scp命令 可以在 2个 linux 主机间复制文件)
scp ~/.ssh/id_rsa.pub cmfchina@192.168.0.2:/home/cmfchina # 这里的ip也可以换为主机名 # 然后,ssh登陆B,将 " /home/cmfchina/id_rsa.pub " 追加到 " ~/.ssh/authorized_keys " 中去。
cat /home/cmfchina/id_rsa.pub >> ~/.ssh/authorized_keys

下面具体步骤:

(1)、先将本机的 ” ~/.ssh/id_rsa.pub “ 拷贝到你想无密登陆的主机上

(2)、将刚刚从A机传过来的id_rsa.pub文件追加到目标机(这里是B)authorized_keys当中

查看刚刚传输过来的id_rsa.pub是否存在

追加到authorized_keys当中

现在,我们就可以在A中使用SSH无密登陆到B的hadoop用户了,同理如果想无密登陆其它的主机都可以使用此方法。需要注意的是配置hadoop集群时需要Master和Slave可以互相SSH无密登陆。

PS:如有问题,请留言,未经允许不得私自转载,转载请注明出处:http://www.cnblogs.com/xuliangxing/p/7428382.html 

Ubuntu下SSH无密码验证配置的更多相关文章

  1. SSH无密码验证配置

    一. 准备工作 首先要确保你的linux系统中已经安装了ssh,对于ubuntu系统一般默认只安装了ssh client,所以还需要我们手动安装ssh server: sudo apt-get ins ...

  2. Hadoop 安装 (4) SSH无密码验证配置

    验证SSH 和 RSYNC 已经安装好了 Master 生成密码对以及对于 Slave 的无密码登录. 见:http://www.cnblogs.com/xia520pi/archive/2012/0 ...

  3. centos下ssh无密码验证

    #安装openssh-clients,rsync等#1.修改所有master和slave服务器的sshd_config,后面增加UseDNS noClientAliveInterval 30RSAAu ...

  4. CentOS 下SSH无密码登录的配置

    CentOS 下SSH无密码登录的配置 最近学习Hadoop.它要求各节点之间通过SSH无密码登录,配置SSH的时候费了一番功夫,记录下来,以备忘. 配置SSH无密码登录需要3步: 1.生成公钥和私钥 ...

  5. Ubuntu 安装 SSH server 并配置 SSH 无密码登录

    https://hinine.com/install-and-configure-ssh-server-on-ubuntu/ Ubuntu 安装 SSH server 并配置 SSH 无密码登录 发表 ...

  6. Ubuntu下ssh连接在服务端显示图形界面

    Ubuntu下ssh连接在服务端显示图形界面 step1 安装ssh服务 服务端安装运行ssh,在终端运行命令如下: sudo apt-get install openssh-server 在客户端安 ...

  7. [转载]Ubuntu下Git服务器安装与配置

    原文地址:Ubuntu下Git服务器安装与配置作者:F民抄 1. 安装 1.1 安装Git-Core: sudo apt-get install git-core 1.2 安装 Gitosis sud ...

  8. Linux系统下ssh的相关配置详细解析

    Linux系统下ssh的相关配置进行了详细的分析介绍. ssh是大家常用的登录linux服务器的方式,但是为了安全考虑,有时候我们需要针对ssh做一些特殊处理,本文记录笔者曾经做过的一些修改,供大家参 ...

  9. ubuntu下安装mysql和配置远程访问

    ubuntu下安装mysql和配置远程访问   下载安装mysql sudo apt-get install mysql-client mysql-server 安装的时候会提示要设置root密码,如 ...

随机推荐

  1. EasyUI学习总结(四)——parser源码分析

    parser模块是easyloader第一个加载的模块,它的主要作用,就是扫描页面上easyui开头的class标签,然后初始化成easyui控件. /** * parser模块主要是解析页面中eas ...

  2. 阿里开源项目 druid 相关资料汇总

    项目发起人访谈:http://www.iteye.com/magazines/90 github主页:https://github.com/alibaba/druid druid 项目,我想我能用很短 ...

  3. OpenCV支持向量机(SVM)介绍

    支持向量机(SVM)介绍 目标 本文档尝试解答如下问题: 如何使用OpenCV函数 CvSVM::train 训练一个SVM分类器, 以及用 CvSVM::predict 测试训练结果. 什么是支持向 ...

  4. Android进程命令查看

    •       进程 是指一个具有独立功能的程序在某个数据集上的一次动态运行过程,它是系统进行资源分配和调度的最小单元. •       一个进程能够拥有多个线程.每一个线程必须有一个父进程. •   ...

  5. 最佳实战Docker持续集成图文详解

    最佳实战Docker持续集成图文详解 这是一种真正的容器级的实现,这个带来的好处,不仅仅是效率的提升,更是一种变革:开发人员第一次真正为自己的代码负责——终于可以跳过运维和测试部门,自主维护运行环境( ...

  6. plsql 操纵表数据的2种方式

      1.情景展示 在plsql中,对表的操作(增.删.改.查),其实有2种方式,只是很多人都只会第一种方式罢了. 2.方式介绍 第1种方式:直接将值与sql写到一起 直接按F8运行即可. 第2种方式: ...

  7. 利用Xmanager Enterprise 5的passive显示远程linux主机图形化信息

    问题描述: 最初的需求是,安装oracle数据(第一次安装都是图形化linxu进去一步步操作,后续发现可以命令静默安装不调用图形化,学习就是步步入深,方得始终),最初实现window弹出linux主机 ...

  8. 设置Linux交换分区

    Linux下可以创建两种类型的交换空间,一种是swap分区,一种是swap文件.前者适合有空闲的分区可以使用,后者适合于没有空的硬盘分区,硬盘的空间都已经分配完毕.例如:安装redhat的时候,你可以 ...

  9. Java list对象列表排序 实例

    package com.test; public class Bean { private String name; private int priority; public String getNa ...

  10. [svc]二三层数据格式&&三层数据如何匹配路由

    网络知识拾遗 tcpip的4&7层模型 PDU数据包在不同层的不同称呼 物理层(一层)PDU指数据位(Bit). 数据链路层(二层)PDU指数据帧(Frame). 网络层(三层)PDU指数据包 ...