一、环境准备

二、SSH配置

1、root用户进入home目录,确实有无隐藏文件夹 .ssh

cd ~
ls -lrta

2、有,则跳过本步骤;没有,执行如下命令

##根据提示输入当前用户密码
ssh localhost

##登录成功后,再次退出
exit
##进入home目录查看 .ssh
cd ~
ls -lrta

3、成功生成 .ssh目录后,执行如下命令

##进入目录
cd .ssh
##生成秘钥,ssh-keygen用于生成秘钥,-t 指定秘钥类型为 rsa秘钥(一路回车即可)
ssh-keygen -t rsa

执行完毕后,在当前目录下生产私钥文件 id_rsa 和公钥文件 id_rsa.pub:

4、集群配置(若是单机配置,跳过此步骤!)

 依次在集群中的其他机器上完成步骤1、步骤2和步骤3,生成私钥文件 id_rsa 和公钥文件 id_rsa.pub。

5、将 id_rsa.pub 文件内容追加到授权 的 key 文件中,命令如下 :

##追加公钥到授权文件中
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

若是单机配置,至此已完成SSH配置!若配置集群,继续执行如下步骤。

6、将第一台机器的 authorized_keys 文件复制到第二台机器上,并将第二台机器的公钥也追加到 authorized_keys 文件中, 执行以下命令 :

##复制第一台机器的授权文件到第二台机器
scp authorized_keys root@168.5.7.76:~/.ssh/
##在第二台机器上执行此命令,将第二台机器的公钥追加到授权文件中
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

7、将第二台机器的 authorized_keys 文件复制到第三台机器上,并将第三台机器的公钥也追加到 authorized_keys 文件中,执行以下命令 :

##复制第二台机器的授权文件到第三台机器
scp authorized_keys root@168.5.7.77:~/.ssh/
##在第三台机器上执行此命令,将第三台机器的公钥追加到授权文件中
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

 若集群还有更多机器, 则依此类推完成授权文件合井。

 当在集群中完成以上配置后,我们就实现了:服务器1 --> 服务器2,服务器1 --> 服务器3,服务器2 --> 服务器3的SSH免密登录。如要实现集群中任意两机器的互信,只需要把最后生成的 ~/.ssh/authorized_keys 文件拷贝至集群中其他服务器的 ~/.ssh 目录下即可。

  • 作者:
    DeepInThought


    出处:
    https://www.cnblogs.com/DeepInThought


    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • SSH安装配置的更多相关文章

    1. Kerberos+SSH安装配置使用教程

      一.背景说明 最早听说KDC和Kerberos应该是大三的<应用密码学>,当时感觉这套对称密钥分发机制比非对称密钥的PKI分发机制要好理解.但几年下来由于现实中使用SSL的场景比较比(主要 ...

    2. CentOS-6.5x64:SSH安装配置

      1.CentOS 默认已经安装了 OpenSSH 2.vim /etc/ssh/sshd_config Port: SSH的监听端口 默认为22,设置为[Port 22] Protocol:SSH允许 ...

    3. 2,linux入门到上手-ssh安装配置及虚拟机基本使用

      ssh配置 1,打开"终端窗口",输入 "sudo apt-get update" --> 回车 --> "输入当前登录用户的管理员密码& ...

    4. Hadoop安装教程_单机(含Java、ssh安装配置)

      文章更新于:2020-3-24 按照惯例,需要的文件附上链接放在文首 文件名:Java SE Development Kit 8u241 文件大小:72 MB+ 下载链接:https://www.or ...

    5. Windows上安装配置SSH教程(8)——综合应用:在Windows上使用手动方式实现SSH远程登陆与文件传输

      服务器端操作系统:Windows XP 客户端操作系统:Windows10 安装与配置顺序 1.服务端安装OpenSSH 2.服务端配置OpenSSH 3.客户端安装OpenSSH 4.客户端安装Wi ...

    6. Windows上安装配置SSH教程(6)——综合应用:在Windows上实现SSH远程登陆与文件传输

      ----------------- 声明:本教程现已经弃用.由于客户端同时安装Cygwin和OpenSSH for Windows会出现问题(Cygwin的shell下无法使用ssh命令),建议直接在 ...

    7. Windows上安装配置SSH教程(4)——WinSCP+OpenSSH 使用公钥自动登陆

      -------------------- 知识点汇总:http://www.cnblogs.com/feipeng8848/p/8559803.html -------------------- 重要 ...

    8. SUSE12Sp3安装配置.net core 生产环境(1)-IP,DNS,网关,SSH,GIT

      1.新增用户 sudo useradd 用户名 sudo passwd 用户名 这个时候会提示你输入密码,输入两次密码即可 2.静态 IP 设置 1.设置 IP 地址 sudo vi /etc/sys ...

    9. Windows上安装配置SSH教程(7)——几种方式对比

      服务端:Windows XP 客户端:Windows 10 由于Cygwin也可以安装OpenSSH,所以客户端其实可以直接使用Cygwin安装OpenSSH,那么在Windows下使用SCP(安全拷 ...

    随机推荐

    1. 关于MacBook Pro外接4K/60HZ显示器的问题

      我踩过的坑 MacBook Pro 外接 4K/60HZ显示器[显示器自带HDMI2.0支持4k] 拓展坞不支持4K/60HZ,最后导致只能支持 30HZ,鼠标移动明显延迟. 总结如下: DVI线类长 ...

    2. STS中依赖项的设置

      经过试验,把依赖项总结一下,可能会不断修改. 1. 父依赖项(固定) <parent> <groupId>org.springframework.boot</groupI ...

    3. MySQL知识篇-nmon监控

      说明1:监控MySQL服务器资源不止一种方式,这种nmon监控图形化.历史记录查询笔记方便,便于MySQL优化后,对比其效率不同,资源利用率不同. 说明2:摘抄自https://www.cnblogs ...

    4. 第10课.c++的新成员

      1.动态内存分配 a.c++中通过new关键字进行动态内存申请 b.c++中的动态内存申请是基于类型进行的 c.delete关键字用于内存释放 2.new关键字与malloc函数的区别 a.new关键 ...

    5. JAVA实验报告及第七周总结

      JAVA第六周作业 实验报告五 第一题 1.设计一个类层次,定义一个抽象类--形状,其中包括有求形状的面积的抽象方法. 继承该抽象类定义三角型.矩形.圆. 分别创建一个三角形.矩形.圆存对象,将各类图 ...

    6. react项目开发环境搭建

      1.环境安装,首先要安装node http://nodejs.cn/  进入nodejs下载,你是window就下在window的反之,安装下一步下一步...就好了 安装成功了试试 node -v , ...

    7. [Comet OJ - Contest #7 D][52D 2417]机器学习题_斜率优化dp

      机器学习题 题目大意: 数据范围: 题解: 学长说是决策单调性? 直接斜率优化就好了嘛 首先发现的是,$A$和$B$的值必定是某两个$x$值. 那么我们就把,$y$的正负分成两个序列,$val1_i$ ...

    8. [转帖]prometheus数据采集exporter全家桶

      prometheus数据采集exporter全家桶 Rainbowhhy1人评论2731人阅读2019-04-06 15:38:32 https://blog.51cto.com/13053917/2 ...

    9. python调用hanlp进行命名实体识别

      本文分享自 6丁一的猫 的博客,主要是python调用hanlp进行命名实体识别的方法介绍.以下为分享的全文. 1.python与jdk版本位数一致 2.pip install jpype1(pyth ...

    10. SQL中的DATENAME()函数

      SQL从时间字段值中获取年份使用DATENAME()函数. DATENAME()函数语法:DATENAME(param,date) date是时间字段名 或一个时间值 param是指定要返回日期部分的 ...