linux ssh认证(公钥机)配置
一、产生背景
在实际工作中,linux集群需要自动化的管理,市面上较常见的自动化运维工具诸如ansible,puppet,saltstack;轻量级的有pssh系列,这其中大多数工具使用的前提就是集群配置有公钥机可免密ssh登录集群内所有服务器,所以要先配置一台公钥机使用。
二、配置实例
1、在除公钥机外所以服务器生成密钥
[root@test ~]# cd /root/.ssh/ [root@test .ssh]# ll 总用量 4 -rw-r--r--. 1 root root 396 11月 1 2016 known_hosts [root@test .ssh]# ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): 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:cBjbvfy9VkWLQpJESgqLHeq923mm4EF1Vb1L4wGs0IU root@test The key's randomart image is: +---[RSA 2048]----+ | o ..++*o. | | + + o*oE + . .| | o o o+o+ = . o..| |. . . .o o o * ..| | . o S o + + .| | . . . + .| | + . .. | | . = .o .. | | o ++ .. | +----[SHA256]-----+ [root@test .ssh]# [root@test .ssh]# ll 总用量 12 -rw-------. 1 root root 1679 11月 2 11:43 id_rsa -rw-r--r--. 1 root root 391 11月 2 11:43 id_rsa.pub -rw-r--r--. 1 root root 396 11月 1 2016 known_hosts
2、在第一台服务器上创建authorized_keys文件,并修改权限,用以保存所有服务器的公钥
[root@test .ssh]# touch authorized_keys [root@test .ssh]# chmod 600 authorized_keys [root@test .ssh]# cat id_rsa.pub >> authorized_keys
3、将authorized_keys文件复制到下一台服务器,并重复以上两个步骤
[root@test .ssh]# scp authorized_keys root@192.168.0.11:~/.ssh/
4、重复以上步骤,直至最后一台服务器,将authorized_keys文件复制到公钥机对应目录下
[root@test .ssh]# scp authorized_keys root@192.168.0.1:~/.ssh/ [root@test .ssh]# chmod 600 authorized_keys
5、配置自动化运维工具配置文件,并删除除公钥机外的所有机器中的authorized_keys文件(pssh为例)
[root@test ~]# pssh -h serverlist.txt -P -p1 "rm -rf /root/.ssh/authorized_keys"
6、测试公钥机免密ssh登录其他服务器即可
三、脚本实现
[root@Nginx bin]# yum install expect -y [root@Nginx bin]# find / -name expect /usr/bin/expect [root@Nginx bin]# touch /root/.ssh/authorized_keys [root@Nginx bin]# vim self_ssh.sh 1 #!/usr/bin/expect -f2 #3 set timeout 34 set ip_list [open /home/jiayimeng/bin/ip r]5 while { [gets $ip_list line ]>=0 } {6 set ip [lindex $line 0]7 spawn ssh root@$ip8 expect "*yes/no:" { send "yes\r" }9 expect "*password:" { send "123456\r" }10 expect "#"11 send "cat /root/.ssh/id_rsa.pub | ssh root@192.168.3.25 'cat >> .ssh/authorized_keys'\r"12 expect "*password:" { send "123456\r" }13 expect "#" { send "exit\r"}14 interact15 }ip中写明所有机器的ip地址
except
四、总结
在不连接外部互联网的特定集群中,公钥机的使用大大方便了运维人员管理维护集群,系统集成人员集成施工的一系列操作;同时,由于公钥机的特殊,要做好公钥机的安全工作。
转载于:https://www.cnblogs.com/jym1/p/8073009.html
linux ssh认证(公钥机)配置相关推荐
- Linux | ssh服务原理、配置及操作
目录 ssh服务 ssh服务的配置文件 配置文件常用配置详解: 加密方法 登陆验证原理 实现公钥认证,免密码登录的步骤 公钥认证排错 ssh登录方法 客户端配置 ssh服务 ssh是什么? ssh - ...
- linux ssh互免密配置
一.产生背景 在实际工作中,linux集群需要自动化的管理,市面上较常见的自动化运维工具诸如ansible,puppet,saltstack:轻量级的有pssh系列,这其中大多数工具使用的前提就是集群 ...
- github 公钥 私钥_ubuntu git生成ssh key (公钥私钥)配置github或者码云
Git是分布式的代码管理工具,远程的代码管理是基于SSH的,所以要使用远程的Git则需要SSH的配置. github的SSH配置如下: 设置Git的user name和email: git confi ...
- 代码管理git生成ssh key (公钥私钥)配置GitLab
git生成ssh key 配置GitLab git在我们日常项目管理中起了很大的作用,是我们能够更好地管理我们的代码,git的管理是基于ssh密钥进行的,所以在使用前我们需要进行ssh配置. 首先我们 ...
- Linux SSH与SCP的配置
目录 配置SSH协议 配置服务器通过密钥进行认证 配置SCP完成文件传输 ssh协议讲解 SSH协议理论讲解_静下心来敲木鱼的博客-CSDN博客https://blog.csdn.net/m0_498 ...
- Linux SSH无交互式访问配置
环境准备两台Linux服务器: 准备一台SSH服务端(系统环境centos6.5,ip地址192.168.100.100) 准备一台SSH客户端(系统环境centos6.5,ip地址192.168.1 ...
- git 生成ssh key_ubuntu git生成ssh key (公钥私钥)配置github或者码云
Git是分布式的代码管理工具,远程的代码管理是基于SSH的,所以要使用远程的Git则需要SSH的配置. github的SSH配置如下: 设置Git的user name和email: git confi ...
- Linux SSH使用公钥私钥实现免登陆 以及 登陆失败、公钥失效的处理转
=====================同级参考资料: <linux--私钥登陆>http://mengsir.blog.51cto.com/2992083/908342 写shell免 ...
- 【SSH】SSH 免密码登录配置|Secure Shell 免密认证登录|linux 生成密钥
目录 LINUX SSH免密登录 即看即用 详细说明 免密登录原理 Secure Shell 免密认证登录 linux 生成密钥 windows 生成密钥 目录 LINUX SSH免密登录 即看即用 ...
最新文章
- 几行代码实现老照片上色复原!
- 习题4-3 求分数序列前N项和 (15 分)
- Ubuntu 安装 Redis (非源码Build方式)
- hMailServer邮件服务器之安装
- log4cpp乱码_log4cxx配置使用(一)
- java执行Sql脚本
- ZTE10机顶盒中心服务器,中兴机顶盒现场配置工具ZTE_STB_Tools_V1.1.0_T07.01最新版
- U1C3 介绍SketchEngine和Web语料库研究
- Linux中使用 if 、for、while等循环来写脚本
- nodejs服务器部署unexpected token{
- Kaggle泰坦尼克号提升准确率探索
- c语言中calloc是什么意思,calloc(c语言calloc是什么意思)
- jquery 源码分析系列1
- 个人开发者做一款Android App,android如何开发一款赚钱app
- 搭建一个简单的SDN网络环境
- 电竞英雄联盟数据API接口 - 【英雄联赛统计】API调用示例代码
- raspberry pi Pico使用MicroPython变砖后的解决方法
- Opengl红宝书第一个例子_VS2017_glew2.1_x64_记录成功的代码段
- 2.3 黑群晖驱动:开启nvme缓存、将nvme缓存作为存储盘 教程
- 小程序 小程序跳转公众号页面
热门文章
- 关于模型复杂度的一个想法
- CSS3 background-image背景图片相关介绍
- JQuery面试题1
- Azure Bill
- hibernate一级缓存和二级缓存的区别[转]
- Inserting/Removing shutters and filters
- 怎么实现Web系统URL传输(表单提交)参数加密-zhuan
- P5357 【模板】AC自动机(二次加强版)
- EasyDSS高性能RTMP、HLS(m3u8)、HTTP-FLV、RTSP流媒体服务器启用https服务申请免费证书...
- 【转】Eclipse下编写C++程序——CDT环境搭建