主要是两个步骤

1.控制主机创建密钥对(私钥和公钥)

2.把密钥对的公钥加入对方的认证列表中

[root@vps ~]# ssh-keygen

[root@vps ~]# ssh-copy-id user@192.168.9.111

ssh-keygen -t dsa
ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.9.111

如果不是使用ssh-copy-id 命令把本机的公钥id_rsa.pub添加了远程主机认证列表 authorized_keys中

可以使用免确认机器指纹参数免除第一次的yes确认直接登入,免除了“yes”确认

 ssh -o StrictHostKeyChecking=no user@192.168.9.111
[root@vps ~]# ssh-keygen
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:4iGGv/oqZhBk2wYs1+VIQBzeYNOh7zsfCUPa1N7d0EY root@vps
The key's randomart image is:
+---[RSA 2048]----+
|.oB=oo. E |
|.Bo*o+ o |
|+.* = o . o |
|.. X . . . + |
| .+ B + S . . |
|. + = + |
|. o + |
|.o .o . |
|o.o++o. |
+----[SHA256]-----+
[root@vps ~]#
[root@vps ~]# ssh-copy-id user@192.168.9.111
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
The authenticity of host '192.168.9.243 (192.168.9.243)' can't be established.
ECDSA key fingerprint is SHA256:eIe1dqiRPK325D/NXRvXDDNllNGNGXlreNh/o8jNXAY.
ECDSA key fingerprint is MD5:6c:c9:4f:da:6d:fd:3f:3c:8e:a8:69:f5:59:67:16:15.
Are you sure you want to continue connecting (yes/no)? yes
/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
user@192.168.9.243's password: Number of key(s) added: 1 Now try logging into the machine, with: "ssh 'user@192.168.9.243'"
and check to make sure that only the key(s) you wanted were added. [root@vps ~]#

免交互批量分发公钥脚本:

#!/bin/bash
rm -rf /root/.ssh/id*
ssh-keygen -t dsa -f /root/.ssh/id_dsa -N ""
for ip in `cat ip`;
do sshpass -p passwd ssh-copy-id -i /root/.ssh/id_rsa.pub "-o StrictHostKeyChecking=no $ip"
done
 

ssh创建与添加密钥开启免密登陆 免确认机器指纹参数的更多相关文章

  1. Linux 普通用户之间免密登陆

    目的: 同台机器之间实现普通用户之间的免密登陆: NN01 的user1 免密登陆 user2 不同机器之间实现普通用户之间的免密登陆 :NN01 的user1 免密登陆 NN01 的user1 一. ...

  2. Linux配置免密登陆

    可能很多新手在配置免密登陆的时候第一次会经常没有配成功,会报错. 在这里将为大家演示最简洁且能一次配置成功的教程 首先以3台机器为例: 192.168.3.102 master 192.168.3.1 ...

  3. centOS7开启ssh免密登陆

    一.登陆服务器生成ssh-key 二.把ssh-key复制到被登陆机器上 三.设置权限 root# .ssh 文件夹权限 root# .ssh/authorized_keys 文件权限 四.测试是否正 ...

  4. centos7:ssh免密登陆设置及常见错误

    目录 一.免密登录设置 二.常见错误 三.CentOS7再ssh-copy-id时的错误 一.免密登录设置 1.使用root用户登录,进入到目录/root/.ssh 2.执行命令:ssh-keygen ...

  5. SSH免密登陆和设置别名

    目录 SSH免密登陆 SSH别名登陆 常见问题 SSH免密登陆 本机生成SSH私钥和公钥 ssh-keygen -t rsa 这样会在当前目录生成名为id_rsa的私钥文件和名为id_rsa.pub的 ...

  6. ssh安全优化免密登陆

    ssh协议 为什么使用ssh协议? 在进行传输时,会对数据进行加密,保证会话安全:telnet协议不是加密传输,在传输过程中如果被抓包,就会造成信息泄露,telnet默认不支持root远程. # 常用 ...

  7. linux ssh免密登陆

    大致流程: 两台linux系统A B 如果A要登陆到B 1.生成A的密钥对 2.将A的公钥拷贝到B的authorized_keys中即可 可以使用命令:ssh-copy-id -i ~/.ssh/id ...

  8. [提供可行性脚本] RHEL/CentOS 7 多节点SSH免密登陆

    实验说明: 在自动化部署时,会经常SSH别的机器去操作,然而每次的密码认证却很令人烦躁,尤其是很长的密码,因此SSH免密登陆就显得必不可少: 在机器数目很多的时候,使用更过的往往是Ansible分发并 ...

  9. CentOS7 开启免密登陆

    1.开启免密登陆功能 以下文件 /etc/ssh/sshd_config 取消以下两项注释,如果没有添加. RSAAuthentication yes PubkeyAuthentication yes ...

随机推荐

  1. linux编译安装Apache

    1 前言 编译安装Apache HTTP Server,目前最新的版本为2.4.41,做好apr,apr-util,pcre的安装后编译安装即可. 2 准备工作 三个:apr,apr-util,pcr ...

  2. vim与系统剪贴版的交互

    1 概述 vim中的复制,删除,替换(d,r,s,x,y等)的内容都会被保存到默认的未命名的寄存器中,之后可以通过p进行粘贴,但是,这个寄存器不是系统的剪贴版,很多时候需要vim与系统剪贴版的交互,那 ...

  3. 小程序picker地区级联选择的问题及解决方案

    各种系统中行政区域选择的场景不少,我们也有不少这样的场景.本想使用第三方的组件,但是大多有些小问题,不能满足需要.后面使用picker的mulitSelector模式写了一个,发现这种列模式的体验并好 ...

  4. commons-pool2 池化技术探究

    一.前言 我们经常会接触各种池化的技术或者概念,包括对象池.连接池.线程池等,池化技术最大的好处就是实现对象的重复利用,尤其是创建和使用大对象或者宝贵资源(HTTP连接对象,MySQL连接对象)等方面 ...

  5. 《疯狂Kotlin讲义》读书笔记6——函数和Lambda表达式

    函数和Lambda表达式 Kotlin融合了面向过程语言和面向对象语言的特征,相比于Java,它增加了对函数式编程的支持,支持定义函数.调用函数.相比于C语言,Kotlin支持局部函数(Lambda表 ...

  6. kubernetes addons之node-problem-detector

    node-problem-detector简介 node-problem-detector的作用是收集k8s集群管理中节点问题,并将其报告给apiserver.它是在每个节点上运行的守护程序.node ...

  7. php讲转义符号与json文件的趣事情

    php中屡试不爽的数组和json json_encode与json_decode urlencode与urldecode addslashes与stripslashes addcslashes与str ...

  8. 【Java】说说你对ThreadLocal的理解

    思路: 0.ThreadLocal是什么?有什么用? 1.ThreadLocal用在什么地方? 2.ThreadLocal的一些细节 3.ThreadLocal的最佳实践 一.ThreadLocal用 ...

  9. poj1190深搜 生日蛋糕

    题意:      让你制作一个蛋糕,这个蛋糕有m层,而且每层都是圆柱形,并且每一层都必须满足 ri>ri+1 && hi > hi+1,然后给出蛋糕的总体积是n*PI,还有 ...

  10. Win64 驱动内核编程-2.基本框架(安装.通讯.HelloWorld)

    驱动安装,通讯,Hello World 开发驱动的简单流程是这样,开发驱动安装程序,开发驱动程序,然后安装程序(或者其他程序)通过通讯给驱动传命令,驱动接到之后进行解析并且执行,然后把执行结果返回. ...