结合Hadoop,简单理解SSH

在启动dfs和yarn时,需要多次输入密码,不但启动本机进程还有辅服务器启动那些节点也需要相应密码,主与辅服务器之间是通过SSH连接的,并发送操作指令

一、ssh密码远程登录

1、使用ssh连接另一台centos7系统,现在我是在192.168.36.133服务器上,用户是hjp要连接192.168.36.134服务器并使用134服务器root用户登录

[[email protected] ~]$ ssh [email protected]

第一次登入需要加密,问是否继续,输入yes继续即可,然后会输入远程服务器用户对应的密码,这样就远程登录成功了

[[email protected] ~]$ ssh [email protected]
[email protected]‘s password:
Last login: Thu Oct 6 19:19:41 2016 from 192.168.36.133
[[email protected] ~]# ifconfig
eno16777736: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.36.134 netmask 255.255.255.0 broadcast 192.168.36.255
inet6 fe80::20c:29ff:fe41:166c prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:41:16:6c txqueuelen 1000 (Ethernet)
RX packets 4088 bytes 420259 (410.4 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 2585 bytes 728262 (711.1 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 0 (Local Loopback)
RX packets 93876 bytes 380613241 (362.9 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 93876 bytes 380613241 (362.9 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

[[email protected] ~]#

IP已经变了,证明远程登录成功,使用exit命令便退回到本机

2、ssh远程命令操作,比如下面远程创建一个文件夹testssh

首先看一下134服务器home路径下文件

[[email protected] home]# ll
total 0
drwxr-xr-x. 3 root root 51 Oct 6 11:03 hadoop
drwxr-xr-x. 3 root root 56 Oct 6 10:58 jdk
[[email protected] home]#

然后在133服务器上用ssh远程在home下创建一个testssh文件夹,注意如果当期用户名和远程服务器用户名一样,可以省略@符号及前面用户名,直接写服务器地址

[[email protected] home]$ ssh [email protected] mkdir /home/testssh
[email protected]‘s password:
[[email protected] home]$

现在在看一下134服务器home文件夹下文件

[[email protected] home]# ll
total 0
drwxr-xr-x. 3 root root 51 Oct 6 11:03 hadoop
drwxr-xr-x. 3 root root 56 Oct 6 10:58 jdk
drwxr-xr-x. 2 root root 6 Oct 6 19:48 testssh
[[email protected] home]#

二、ssh公钥私钥登录

1、公钥私钥简单实现原理

比如两台服务器A、B,A要通过SSH远程B,A首先本地生成公钥私钥对,将公钥发送给B,B收到A的公钥后加入到自己授权列表中。此时A、B公钥私钥对配置完成

在A请求远程B时,B先在授权列表中检查是否有A相关登录用户配置,如果有,那么就B就用A的公钥加密一段信息,发送给A,A收到后用私钥解密,然后发回给B,B就接收A解密后的信息,与发出的信息进行校验,如果校验成功则允许登录

2、现有192.168.36.133和192.168.36.134两台服务器,用133去远程134

  1)、[[email protected] ~]$ ssh-keygen -t rsa    -t用来指定加密算法,此处使用的是rsa,生成公钥私钥对;回车后会有一些配置操作,全部使用默认

  2)、通过Enter file in which to save the key (/home/hjp/.ssh/id_rsa): 可知秘钥存放位置

[[email protected] ~]$ cd /home/hjp/.ssh
[[email protected] .ssh]$ ll
total 12
-rw-------. 1 hjp hjp 1679 Oct 7 13:27 id_rsa
-rw-r--r--. 1 hjp hjp 407 Oct 7 13:27 id_rsa.pub
-rw-r--r--. 1 hjp hjp 176 Oct 7 12:02 known_hosts
[[email protected] .ssh]$

  id_rsa为私钥,id_rsa.pub为公钥

  3)、通过ssh拷贝公钥到134服务器上,上面也说过,如果两个服务器登录用户一样就可以省略@符号及前面用户名

[[email protected] .ssh]$ scp id_rsa.pub [email protected]:/home/testssh
[email protected]‘s password:
id_rsa.pub 100% 407 0.4KB/s 00:00
[[email protected] .ssh]$

  已经成功拷贝过去

  4)、在134服务器上将公钥加入到授权列表中,授权列表文件authorized_keys在.ssh文件夹下,如果没有就新建,一般没有配置过是不存在这个文件的

[[email protected] .ssh]# cat /home/testssh/id_rsa.pub >>authorized_keys

然后cat authorized_keys 可以查看到已经加入到授权列表文件中,这样就配置完成了,使用133通过SSH远程134就不用输入密码了。

注意:如果新建的authorized_keys文件,权限一般是-rw-rw-r--,必须改权限为-rw-------(命令:chmod 600 authorized_keys)

  5)、测试登录

[[email protected] .ssh]$ ssh [email protected]
Last login: Thu Oct 6 20:48:19 2016 from 192.168.36.1
[[email protected] ~]#

公钥私钥和authorized_keys 都在~/.ssh文件夹下

时间: 2024-10-20 08:37:51

结合Hadoop,简单理解SSH的相关文章

SSH的一些简单理解

最近一周都在为4月份开始的新项目做准备.就C开发人员,如何学习SSH,谈谈自己的一些理解. 首先是Java语言, 对于有丰富C/C++经验的人来说, 推荐听斯坦福的公开课(106A,106B,·107),讲得很好. 然后是类库, 推荐快速阅览Java核心2本书(不用细看, 花1-2个小时浏览就行了, 需要用的时候再深入学习) 关于SSH,我主要看的是in Action系列3本书. 书蛮好的, 也很好理解.不过,就思想深度来说, 我个人觉得没有C++ AOE的书写得深入. 推荐先看面向模式的软件体

[干货分享]git的简单理解及基础操作命令

前端小白一枚,最近开始使用git,于是花了2天看了廖雪峰的git教程(偏实践,对于学习git的基础操作很有帮助哦),也在看<git版本控制>这本书(偏理论,内容完善,很不错),针对所学内容建了git仓库测试,且写了不少git操作命令的笔记,做个分享,有错误的地方各位大大也给提出,好做修改~ Git是一款免费.开源的.用Linux内核开发的分布式版本控制系统. git和svn有什么区别呢? git采用分布式版本库管理,而svn采用集中式版本库管理. 集中式版本库管理需要有一台存放版本库的服务器,

Hadoop-- MapReduce简单理解

1.Hadoop和MapReduce概念 Mapreduce是一种模式. Hadoop是一种框架. Hadoop是一个实现了mapreduce模式的开源的分布式并行编程框架. 2.Hadoop框架 借助Hadoop 框架及云计算核心技术MapReduce 来实现数据的计算和存储,并且将HDFS 分布式文件系统和HBase 分布式数据库很好的融入到云计算框架中,从而实现云计算的分布式.并行计算和存储,并且得以实现很好的处理大规模数据的能力. 3.MapReduce 原理 3.1 map和reduc

Hadoop简单入门之伪分布式搭建

前面两章主要讲解了完全分布式的搭建,这章主要讲解服务器单机完成伪分布的搭建,介绍Hadoop配置,启动,以及简单测试.我的机器:阿里云服务器,64位,Java64,Hadoop2.4.1(64) ? 所有软件下载百度云 密码:uup8 讲在开头:对于笔者的完全分布式环境请见该文:Hadoop完全分布式安装 写文章不易,欢迎大家采我的文章,以及给出有用的评论,当然大家也可以关注一下我的github:多谢: 1,Hadoop简单介绍: Apache Hadoop是一款支持数据密集型分布式应用,并以A

php类的封装、继承和多态的简单理解

.面象对向的三大特点:封装性.继承性.多态性 首先简单理解一下抽象: 我们在前面定义一个类的时候,实际上就是把一类事物共有的属性和行为提取出来,形成一个物理模型(模版),这种研究问题的方法称为抽象 一.封装性  封装就是把抽取出来的数据和对数据的操作封装在一起,数据被保护在内部,程序的其他部分只有被授权的操作(方法)才能对数据进行操作.  php提供了三种访问控制修饰符  public 表示全局,本类内部,类外部,子类都可以访问  protected 表示受保护的,只有本类或子类可以访问  pr

简单理解计算机通信

简单理解计算机通信 写在前面: 在计算机刚出现的时候,只能在本机进行一些运算处理,想将一台计算机中的数据转移到另一台计算机中,需要通过外部存储介质来传输,例如磁带.软盘.而网络技术的出现,使得计算机间可以通过一些传输介质(网线.光纤等),实现快速的数据传输和信息交互.如今,网络已无处不在,那么,计算机之间究竟是如何通信的呢?下面会通过一些基础的网络知识来简单理解计算机之间的通信过程. 网络通信模型: 网络通信模型是一种概念模型和框架,旨在使各种计算机在世界范围内互连为网络.其中有OSI七层模型和

Http协议与TCP协议简单理解

在C#编写代码,很多时候会遇到Http协议或者TCP协议,这里做一个简单的理解. TCP协议对应于传输层,而HTTP协议对应于应用层,从本质上来说,二者没有可比性.Http协议是建立在TCP协议基础之上的,当浏览器需要从服务器获取网页数据的时候,会发出一次Http请求.Http会通过TCP建立起一个到服务器的连接通道,当本次请求需要的数据完毕后,Http会立即将TCP连接断开,这个过程是很短的.所以Http连接是一种短连接,是一种无状态的连接.所谓的无状态,是指浏览器每次向服务器发起请求的时候,

回溯法之八皇后问题简单理解

回溯法,简单理解就是有源可溯.基本思想要借鉴穷举法,但是它不是一味地穷举,当发现某一步不符合条件时,这一步后面的穷举操作就不进行了(俗称“剪枝”),我自己把它叫做动态穷举法.假设第一个步骤可行,那么执行第二个步骤,第三个......如果其中第三个步骤不行,那么我们再回过来(回溯),第二个步骤换一种方法尝试,然后再重新第三个步骤,第四个......直到完成任务要求为止. 这里,以八皇后问题为例.试图把回溯法讲清楚. 注意:递归应该是一种算法结构,回溯法是一种算法思想. 何为八皇后问题? (百度百科

Javascript闭包简单理解

提到闭包,想必大家都早有耳闻,下面说下我的简单理解.说实话平时工作中实际手动写闭包的场景并不多,但是项目中用到的第三方框架和组件或多或少用到了闭包.所以,了解闭包是非常必要的.呵呵... 一.什么是闭包简而言之,就是能够读取其他函数内部变量的函数.由于JS变量作用域的特性,外部不能访问内部变量,内部可以外部变量. 二.使用场景1. 实现私有成员.2. 保护命名空间,避免污染全局变量.3. 缓存变量. 先看一个封装的例子: var person = function () { // 变量作用域为函