在实际的生产环境中,经常会用到sshkey密钥认证实行数据分发数据等操作,还可以批量操作内网服务器,实行免密认证进行推送分发数据。

1、环境查看

分发服务器

节点服务器

2、服务器添加系统账号

3、生成密钥对

[root@localhost1 ~]# su - fenfa
[fenfa@localhost1 ~]$ whoami
fenfa [fenfa@localhost1 ~]$ ssh-keygen -t dsa

 Generating public/private dsa key pair.
Enter file in which to save the key (/home/fenfa/.ssh/id_dsa):
Created directory '/home/fenfa/.ssh'.  #创建目录
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/fenfa/.ssh/id_dsa.
Your public key has been saved in /home/fenfa/.ssh/id_dsa.pub.
The key fingerprint is:
2c:33:62:96:d5:5a:56:a8:19:63:29:de:63:35:83:f1 fenfa@localhost1
The key's randomart image is:
+--[ DSA 1024]----+
| .+ .. |
| . *o=. |
| . +.*Eo |
| .o*= |
| =.=.S |
| o . + |
| |
| |
| |
+-----------------+
[fenfa@localhost1 ~]$ cd /home/fenfa/.ssh/
[fenfa@localhost1 .ssh]$ ls -ld .ssh
ls: cannot access .ssh: No such file or directory
[fenfa@localhost1 .ssh]$ ls -ld /home/fenfa/.ssh/
drwx------ 2 fenfa fenfa 4096 Feb 21 00:25 /home/fenfa/.ssh/
[fenfa@localhost1 .ssh]$ ll
total 8
-rw------- 1 fenfa fenfa 668 Feb 21 00:25 id_dsa
-rw-r--r-- 1 fenfa fenfa 606 Feb 21 00:25 id_dsa.pub

 
[fenfa@localhost1 .ssh]$ cat /home/fenfa/.ssh/id_dsa
-----BEGIN DSA PRIVATE KEY-----
MIIBuwIBAAKBgQDLu2NAZzbTkIb5qAXlFEEud/Ka3dS37dSzIgpkWeX5M65niDgJ
NoXybn5t14YC5Ur7ef1MXQWsTJlzz1Y6+2MXNUnqnttIsbFGqPFCxfITDCryE9xZ
L16LF7LLFcYyAiXDNJApQXRfnt8p4+5NYEx7WUtRnFhcAyolGCKGV9FlpQIVAPd4
UIqd7o3o3z+R8JbB0kB7uQmzAoGAb7DhH9aXMrDCERjr3u3kb6/P5yKl1h4Bx/Il
k6Ye/hmly5jPk2ylwifPb0iVHVfKvREVGEQ84SUkYzGhAkws1hcrEp9auunzYDNP
Sw8rTRwnGHe+jeSJpMFyE/XiAdLm9dlvNubgcprAhrY7j2dgM6lMzI4Wzx64yPm5
qqEF3AwCgYAswJiFXDeTFDumtSeAYwukCbuYFmuOZFep17Vo+5GO/EYmhv0WLkry
mfkWIgzeq9RfiDj2jVGxMPwRdfIqqeThzrs8nJKNgIwhI8yN/EcjwdHA9iwkMWng
+eXweI3JLGwAwOi8K0E5daJe6QyXZO67nlZt6RPsnnOZzsgdqIrtkwIVAK4QeeT/
lrNTWfo0hWEh7DPEGHsx
-----END DSA PRIVATE KEY-----

4、分发密钥

分发的命令格式
ssh-copy-id -i 密钥名称 用户@远端主机 IP 地址--------------用于 ssh 是默认端口
ssh-copy-id -i 密钥名称 “-p port 用户@远端主机 IP 地址”--用于 ssh 非默认端口

[fenfa@localhost1 .ssh]$ ssh-copy-id -i id_dsa.pub fenfa@192.168.181.129  #分发的命令
The authenticity of host '192.168.181.129 (192.168.181.129)' can't be established.
RSA key fingerprint is 9e::e9:::a0:::2b:d0:4e:ae:d4::6f:0d.
Are you sure you want to continue connecting (yes/no)? y
Please type 'yes' or 'no': yes
Warning: Permanently added '192.168.181.129' (RSA) to the list of known hosts.
fenfa@192.168.181.129's password:
Permission denied, please try again.
fenfa@192.168.181.129's password:
Permission denied, please try again.
fenfa@192.168.181.129's password:
Now try logging into the machine, with "ssh 'fenfa@192.168.181.129'", and check in: .ssh/authorized_keys to make sure we haven't added extra keys that you weren't expecting. [fenfa@localhost1 .ssh]$ ssh-copy-id -i id_dsa.pub fenfa@192.168.181.129
Now try logging into the machine, with "ssh 'fenfa@192.168.181.129'", and check in: .ssh/authorized_keys to make sure we haven't added extra keys that you weren't expecting.

查看是否分发成功

[fenfa@localhost2 ~]$ tree /home/fenfa/.ssh/
/home/fenfa/.ssh/
└── authorized_keys  分发成功 directories, file

5、分发数据

不需要输入密码

当每天都需要分发数据时,可以把命令写入脚本中,再加入定时任务,就可以自动分发数据。

Linux之sshkey密钥认证实战的更多相关文章

  1. Linux之SSH密钥认证

    1.SSH协议的认识 SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定:SSH 为建立在应用层基础上的安全协议.SSH 是目前 ...

  2. Ansible ssh-key密钥认证配置

    对于被管理服务器做免密码登录设置 1.在管理服务器生成ssh-key密钥 #ssh-keygen  //生成秘钥 root@hsz:/etc/ansible# ssh-keygen Generatin ...

  3. Mac OS X下配置远程Linux 服务器SSH密钥认证自动登录

    1. 在本地机器创建公钥 打开万能的终端,执行如下命令,无视一切输出,一路欢快地回车即可. ssh-keygen -t rsa -C 'your email@domain.com' -t 指定密钥类型 ...

  4. Mac下配置远程Linux 服务器SSH密钥认证自动登录

    1. 在本地机器创建公钥 打开万能的终端,执行如下命令,无视一切输出,一路欢快地回车即可. ssh-keygen -t rsa -C 'your email@domain.com' -t 指定密钥类型 ...

  5. xshell,putty远程连接Linux并使用密钥认证

    putty秘钥登录 1.软件:putty.puttygen puttygen点击Generate生成公钥和私钥 二次保障,输入设置密码 点击保存私钥文件即可. 将公钥保存到服务器上: mkdir /r ...

  6. 使用XShell工具密钥认证登录Linux系统

    如果你是一名Linux运维,那么Linux服务器的系统安全问题,可能是你要考虑的,而系统登录方式有两种,密码和密钥.哪一种更加安全呢? 无疑是后者! 这里我为大家分享用Xshell利器使用密钥的方式登 ...

  7. 使用密钥认证机制远程登录Linux

    密钥认证机制 创建存放key的文件 1)创建目录 /root/.ssh 并设置权限 [root@localhost ~]# mkdir /root/.ssh mkdir 命令用来创建目录,以后会详细介 ...

  8. Linux学习总结(三)之 putty,xshell远程连接及密钥认证篇

     一:putty 下载 1:认准两个地方 a. Download putty b. chiark greenend 2:下载32位的zip包,这是一个工具包合集,不单是一个终端工具 二:putty设置 ...

  9. 如何在 Linux 中配置基于密钥认证的 SSH

    什么是基于 SSH 密钥的认证? 众所周知,Secure Shell,又称 SSH,是允许你通过无安全网络(例如 Internet)和远程系统之间安全访问/通信的加密网络协议.无论何时使用 SSH 在 ...

随机推荐

  1. angular之增删改查

    <!DOCTYPE html> <html lang="en" ng-app="app"> <head> <meta ...

  2. Android 4学习(1):学习路线图

    学习路线图 如下图所示,整个Android的架构可以分为四层,五个部分.我给自己制定的学习路线图是这样的: 对于有java基础的入门级android开发者而言,首先要学会使用Application F ...

  3. SqlServer——事务一编程进阶(SqlServer技术内幕 T-SQL程序设计 第九章

    事务格式如下: 1.开启事务: begin tran 2.提交事务:commit tran 3.回滚事务:rollback tran 判断事务是提交还是应该回滚有两种方式,一是全局变量 @@error ...

  4. C#改变LInqToSQL的引用地址,读取config的数据库字符串

    C#改变LInqToSQL的引用地址,读取config的数据库字符串修改Properties 下 Settings.Settings 下 Settings.Designer.cs 下 return ( ...

  5. 9-EasyNetQ之基于主题的路由

    RabbitMQ有一个很酷的功能,基于主题的路由,这个功能允许订阅者基于多个条件去过滤消息.一个主题是由点号分隔的单词列表,随消息一同发布.例如:"stock.usd.nyse" ...

  6. 数据存储的两种方式:Cookie 和Web Storage(转)

    数据存储的两种方式:Cookie 和Web Storage   数据存储的两种方式:Cookie 和Web Storage 1.Cookie Cookie的作用就像你去超市购物时,第一次给你办张购物卡 ...

  7. 在Linux里安装jdk

    一.系统环境说明: [操作系统]:Ubuntu 18.04.1 Desktop [JDK]:jdk1.8.0_181,文件名称:jdk-8u181-linux-x64.tar 二.准备jdk文件 下载 ...

  8. 业务逻辑:shiro框架的功能实现

    思路:分别在web.xml配置过滤器以及在applicationContext.xml去配置 实现步骤:1.在pom.xml里引入shiro的坐标 2.在web.xml里配置shiro过滤器 3.在a ...

  9. ROS Learning-023 (提高篇-001) 准备工作 --- 安装一些必要的软件包

    ROS 提高篇-001 - 准备工作 - 安装一些必要的软件 我使用的虚拟机软件:VMware Workstation 11 使用的Ubuntu系统:Ubuntu 14.04.4 LTS ROS 版本 ...

  10. 算法Sedgewick第四版-第1章基础-1.4 Analysis of Algorithms-006BitonicMax

    package algorithms.analysis14; import algorithms.util.StdOut; import algorithms.util.StdRandom; /*** ...