多台Linux服务器之间互相免密登陆,脚本同步免密

环境:

三台Linux 服务器

IP                          Release                            Hostname

192.168.200.131              centos7                            api1

192.168.200.130              centos7                            api2

192.168.200.136              centos7                            api3

配置api1无密码连接api2和api3:[root@api1 ~]# ssh-keygen -t rsa

Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): ##回车代表无需密码登陆

Created directory '/root/.ssh'. Enter passphrase (empty for no passphrase): ##回车

Enter same passphrase again: ##回车

Your identification has been saved in /root/.ssh/id_rsa. ##私钥

Your public key has been saved in /root/.ssh/id_rsa.pub. ##公钥

The key fingerprint is:

SHA256:FGrYUe6qiaKaRXz4sp/HLWJJvDeUsGaV+++EKe9fKwc root@api1复制

复制api1的公钥到api2:

[root@api1 ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.200.130

/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"

/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed

/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys

root@192.168.200.130's password:

Number of key(s) added: 1

Now try logging into the machine, with: "ssh 'root@192.168.200.130'"

and check to make sure that only the key(s) you wanted were added.

在服务器的/root目录下就是出现 .ssh文件夹,下面是对应的authorized_keys文件。[root@api2 .ssh]# cd /root/.ssh/

[root@api2 .ssh]# cat authorized_keys

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCu0Zd4U031Bh4GVSl6EaHTIRGqeOQ+NGVZBoyuFjEE9S8XccZzA07Y15xwqy9t6bwxNte8QqegDZ64G/OnnzJvvq3HZK/jT46+IgkgtoVg5x5hTStAJz4uOOezydCZOy/DHgK6c9o8ys/lk1QTnxYf/xgnyWakXWCt/UwstGfx9lbxQb4ZsNOTw01U1eO228nczhUOIcORGgVTqaO0HrFz9ueWOHFuuipcdKxGlkEMQ0P/cOX+3FoJb4yVSRik1sfk3Qo+liSftesPjx4ZiXLxHFCnzcL7ubU2v5tHozJTUZDRU5E6IpSjSA7tofn/mthWJv0VLnLChIjH8bmwuBYn root@iZ2zeigu1bbi645u8lt83sZ

[root@api2 .ssh]#

在api1上ssh到api2,这样就能实现无密码访问了,api3同api2复制即可;

在api1机器上访问api2用ssh即可:ssh api

拓展:ssh-keygen 基本用法

ssh-keygen命令用于为"ssh"生成、管理和转换认证密钥,它支持RSA和DSA两种认证密钥.

ssh-keygen(选项)

-b:指定密钥长度;

-e:读取openssh的私钥或者公钥文件;

-C:添加注释;

-f:指定用来保存密钥的文件名;

-i:读取未加密的ssh-v2兼容的私钥/公钥文件,然后在标准输出设备上显示openssh兼容的私钥/公钥;

-l:显示公钥文件的指纹数据;

-N:提供一个新密语;

-P:提供(旧)密语;

-q:静默模式;

-t:指定要创建的密钥类型。

生成ssh key的时候,可以通过 -f 选项指定生成文件的文件名,如下:

ssh-keygen -f test -C "test key"

~~文件名 ~~~~ 备注

输入完后,会提示输入密码和确认密码。

文件最终会保存在当前目录下。

注意事项:

1、文件和目录的权限千万别设置成chmod 777.这个权限太大了,不安全,数字签名也不支持,一般设置成600即可;

2、生成的rsa/dsa签名的公钥是给对方机器使用的。这个公钥内容还要拷贝到authorized_keys

3、linux之间的访问直接 ssh 机器ip

4、某个机器生成自己的RSA或者DSA的数字签名,将公钥给目标机器,然后目标机器接收后设定相关权限(公钥和authorized_keys权限),这个目标机就能被生成数字签名的机器无密码访问了

linux100台服务器免密,多台Linux服务器之间互相免密登陆,脚本同步免密相关推荐

  1. 本地mac配置ssh免密登录远程linux服务器

    本地mac配置ssh免密登录远程linux服务器 每次输入密码登录服务器也就罢了,结果scp时每次都要输入密码,分分秒秒阿西吧.哈哈哈,回归正题,配置免密登录后,畅通无阻啊,哈哈哈 检查自己~/.ss ...

  2. filezilla 设置服务器_java项目部署到linux服务器,微信小程序后台springboot项目部署到腾讯云服务器(图文详解)...

    前面给大家讲了一个点餐系统的开发,包括java点餐后台和微信点餐小程序.可是都是教大家如何在本地把项目跑起来.今天就来教大家如何把这个点餐系统部署到服务器,实现商用. 传送门 点餐系统的开发,java ...

  3. linux服务器进虚拟机,初次登录 Linux 服务器马上要做的 9 件事|Linux 中国

    导读:在将新配置的服务器投入工作之前,请确保你知道你正在使用什么. 本文字数:3308,阅读时长大约:5分钟 https://linux.cn/article-12959-1.html 作者:Gaur ...

  4. 自建服务器系列-0元搭建linux服务器(windows笔记本)

    0元搭建linux服务器 一.windows装Centos7 1.1 centos7 iso镜像 1.2 准备U盘 1.3 UltraISO 启动盘制作工具安装 1.4 准备一台windows 机器 ...

  5. 从FTP服务器下载文件部署更新linux服务器上的服务

    作为软件测试人员,经常要发布开发的集成包.本来嘛,更新个服务,没什么大不了.但是集成包打出来,要更新的服务有9个(分别部署在三台服务器上),并且以后还会增加.如果手动更新,每次更新时间都得20分钟以上 ...

  6. Windows批量修改服务器密码,expect批量修改linux服务器密码

    expect批量修改linux服务器密码 内容精选 换一换 批量修改弹性云服务器信息.当前仅支持批量修改云服务器名称,一次最多可以修改1000台.PUT /v1/{project_id}/clouds ...

  7. c上传文件到linux服务器,上传文件到Linux服务器

    1. Window上传文件到Linux 1.1 图形化界面winscp 适用于传送文件和目录,但要安装额外的软件winscp 1.2 lrzsz套件 适用于传送文件,使用ssh远程登录管理软件xshe ...

  8. Linux服务器部署ssl证书教程,linux服务器在wdcp面板安装ssl证书教程

    不少站长如今越来越在意站内数据传输的安全性,想着把自己建设的网站加密传输,许多站长都需要安装ssl证书,且很多站长都在找寻centos系统服务器linux服务器或者是wdcp面板怎么安装ssl证书,网 ...

  9. 怎么在Linux中telnet服务器,怎么利用Telnet连接Linux服务器

    利用Telnet连接Linux服务器需要确保:windows客户端开启telnet功能.linux服务器开启telnet服务 首先,linux服务器开启telnet服务: 许多Linux系统在默认情况 ...

最新文章

  1. linux文件系统dentry_NFS 文件系统源代码剖析
  2. html dom节点类型,浅谈Javascript中的12种DOM节点类型
  3. 独立式键盘的编程方法 按键的去抖动原理和基本方法
  4. OpenShift 4 - 为Gogs构建一个Operator
  5. rest_framework-00-规范-APIview源码解析-认证
  6. [C++]Linux之Ubuntu下编译C程序出现错误:“ stray ‘\302‘或者‘\240‘ in program”的解决方案
  7. x86汇编指令集大全注释(二)
  8. python黑网站_python
  9. 人脸检测(五)--adaboost总结,整理
  10. springcloud-config-client的那些坑
  11. 车间调度问题总结笔记一
  12. Seaborn绘图-绘制散点图,折线图-分类统计图
  13. 如何制作移动端静态网页
  14. 高项 人力资源管理论文
  15. display基础用法
  16. 务器性能变慢 c盘temp文件夹存在大量sess开头文件的问题原因
  17. ORA-28001: the password has expired解决
  18. IMPDP和ORA-31684
  19. 自编真假探测游戏来了 好玩
  20. 本地html播放器代码,HTML播放器代码集

热门文章

  1. java处理表单变量_jsp处理表单及JS和JAVA变量互传
  2. 151. 反转字符串里的单词
  3. 大数据分析平台由哪些部分构成
  4. 大数据可视化的重要性体现在哪里
  5. mysql utf-8转utf8mb4_MySQL UTF8 转为 utf8mb4
  6. python读取大文件太慢_强悍的Python读取大文件的解决方案
  7. go和python对比的优缺点_Python与Golang对比
  8. AcWing 9. 分组背包问题(分组背包模板)
  9. java txt 二维数组_java 将一个二维数组存到txt文件里,然后再读取
  10. MySql数据的启动和停止以及SQLyog图形化工具的下载