最近在研究hadoop,因为是分布式的,会涉及很多机器协作工作,但所有的操作都是需要进行权限验证的,namenode主机会尝试启动datanode主机上的进程等等。下面就用一张图来解释SSH登录验证的原理.

注意上面说明中的1和2都是手动执行的

第一步手动执行生成公钥和私钥对命令为ssh-keygen这个在ssh手册中是可以查询到的

执行上面的命令后会提示将生成的公钥及私钥对存放到哪里,这里默认即可

我们可以到~/.ssh目录中找到生成的公钥及私钥对如下

id_rsa.pub就是生成的公钥,而id_rsa则为私钥.其实里面存放的就是一个字符串.正常情况下authorized_keys文件是不存在的,我们需要在C机器上手动创建这个文件夹,然后将A机器的公钥cp到C机器上,执行 cat id_rsa.pub >> authorized_keys ,将A机器的公钥写到C机器的验证秘钥文件中去,注意这里是追加,不能进行覆盖,因C机器可能保存在多个机器的公钥。这里注意一下authorized_keys文件的权限,必须为自己可读写,其他用户组及自己组的用户是没有任何权限的。这才能生效。我截取了man ssh中的一段话,可自行进行查看

到此,ssh远程登录原理及操作完毕,现在可以进行无需密码即可进行在机器A上操作C机器了

SSH(远程登录)原理的更多相关文章

  1. SSH远程登录原理与运用

    SSH是每一台Linux电脑的标准配置. 随着Linux设备从电脑逐渐扩展到手机.外设和家用电器,SSH的使用范围也越来越广.不仅程序员离不开它,很多普通用户也每天使用. SSH具备多种功能,可以用于 ...

  2. SSH远程登录原理

    使用ssh主要有两种登录方式:第一种为密码口令登录,第二种为公钥登录 密码口令登录 通过密码进行登录,主要流程为: 1.客户端连接上服务器之后,服务器把自己的公钥传给客户端 2.客户端输入服务器密码通 ...

  3. SSH远程登录和端口转发详解

     SSH远程登录和端口转发详解   介绍 SSH 是创建在应用层和传输层基础上的安全协议,为计算机上的 Shell(壳层)提供安全的传输和使用环境. SSH 只是协议,有多种实现方式,本文基于其开源实 ...

  4. 【浅层优化实战】ssh远程登录Linux卡慢的全过程排查及解决方案

    ssh远程登录Linux卡慢的全过程排查及解决方案 前言: 在linux操作系统使用过程中偶然一次感到使用ssh远程连接软件连接操作系统需要等待许久,第一次没在意,第二次也没在意,第三次有点忍受不住了 ...

  5. Firefly安装ROS及ssh远程登录配置

    一.在Linux firefly 3.10.0 上安装ROS-indigo 快捷键 CTRL + ALT  + T 打开终端并安装ROS-indigo sudo sh -c 'echo "d ...

  6. SSH客户端(如PuTTY)ssh远程登录Linux非常慢的解决方法

    转:http://blog.useasp.net/archive/2014/05/19/solved-the-problem-of-ssh-client-such-as-putty-remote-lo ...

  7. ssh远程登录linux live系统

    要想ssh远程登录,须要准备两件事:配置同网段IP和开启SSH服务. 因为live系统没有IP,所以首先须要配置IP. 我的live系统是在虚拟机上启动的,宿主IP为192.168.230.1,liv ...

  8. ssh远程登录linux服务器

    ssh远程登录linux服务器 用法: ssh -l user -p port server_ip 或者 ssh -p port user@server_ip 参数: -l 后接要登录的远程系统用户名 ...

  9. ssh远程登录命令简单实例

    ssh远程登录命令简单实例 ssh命令用于远程登录上Linux主机. 常用格式:ssh [-l login_name] [-p port] [user@]hostname 更详细的可以用ssh -h查 ...

随机推荐

  1. 如何使用JavaScript UI控件(WijmoJS)构建Electron应用程序

    概述 What is Electron? Electron是一个使用JavaScript.HTML和CSS构建跨平台桌面应用程序的框架. 您可以将Electron与纯JavaScript或您选择的Ja ...

  2. frame和bounds有什么不同?

    frame指的是该view在父view坐标系统中的位置和大小.(参照物是他的父坐标系统). bounds指的是该view在他本身的坐标系统中的位置和大小.(参照点是本身的坐标系统).

  3. Qt 中用QProcess调用cmd命令

    项目做到一定阶段,常常须要在原来的project上调用外部程序. Qt为此提供了QProcess类,QProcess可用于完毕启动外部程序,并与之交互通信. 基本用法: QProcess p(0); ...

  4. ssm+redis整合(通过cache方式)

    这几天的研究ssm redis 终于进入主题了,今天参考了网上一些文章搭建了一下ssm+redis整合,特别记录下来以便以后可以查询使用,有什么不足请大牛们提点 项目架构 1.pom.xml < ...

  5. robot framework学习五——AutoltLibrary库

    安装中遇到的问题: 安装好了AutoItLibrary,但是导入到RIDE后,仍然红色显示 搜索了下解决办法,说要安装下autoit-v3-setup.exe https://www.autoitsc ...

  6. RabbitMQ(1) - win+rabbitMQ

    rabbitMQ是一个在AMQP协议标准基础上完整的,可服用的企业消息系统.它遵循Mozilla Public License开源协议,采用 Erlang 实现的工业级的消息队列(MQ)服务器,Rab ...

  7. python中mysql数据库的操作-sqlalchemy

    MySQLdb支持python2.*,不支持3.* ,python3里面使用PyMySQL模块代替 python3里面如果有报错  django.core.exceptions.ImproperlyC ...

  8. 『计算机视觉』R-FCN:Object Detection via Region-based Fully Convolutional Networks

    一.网络介绍 参考文章:R-FCN详解 论文地址:Object Detection via Region-based Fully Convolutional Networks R-FCN是Faster ...

  9. prometheus热重启

    prometheus启动命令添加参数 --web.enable-lifecycle 然后热重启:curl -XPOST http://localhost:9090/-/reload

  10. js 数组的pop(),push(),shift(),unshift()方法小结

    关于数组的一些操作方法小结: pop(),push(),shift(),unshift()四个方法都可改变数组的内容以及长度: 1.pop() :删除数组的最后一个元素,并返回被删除的这个元素的值: ...