expect批量分发密钥对】的更多相关文章

vim shell.exp #!/usr/bin/expect set timeout 10 set hostname [lindex $argv 0] set username [lindex $argv 1] set password [lindex $argv 2] spawn ssh-copy-id $username@$hostname expect { "Are you sure you want to continue connecting (yes/no)?" { se…
Expect安装 [root@web02 scripts]# yum install expect SSH密钥生成 [root@web02 scripts]# ssh-keygen -t dsa   <==生成密钥 Generating public/private dsa key pair. Enter file in which to save the key (/root/.ssh/id_dsa): Enter passphrase (empty for no passphrase): E…
sshkey.exp #!/usr/bin/expect# 由于是多台服务器,需要在shell脚本中循环调用该脚本 if { $argc != 2 } { send_user "usage: expect scp-expect.exp file host dir\n" exit } #定义变量set file [lindex $argv 0]set host [lindex $argv 1]set password "888888" #必须使用ssh-copy-id…
目录 1 SSH批量分发管理 1.1 测试环境 1.2 批量管理步骤 1.3 批量分发管理实例 1.3.1 利用sudo提权来实现没有权限的用户拷贝 1.3.2 利用sudo提权开发管理脚本 1.3.3 利用rsync来实现增量备份 1.4 SSH批量管理分发脚本实战 1.5 SSH批量管理总结 2 非交互式expect 2.1 非交互式生成密钥及实现批量管理 2.2 一键批量安装httpd服务 2.3 一键自动化50台规模集群网站 1 SSH批量分发管理 基于口令的,如何实现批量管理:expe…
SSH服务 一.SSH服务介绍 SSH是Secure Shell Protocol的简写,由IETF网络工作小组制定:在进行数据传输之前,SSH先对联机数据包通过加密技术进行加密处理,加密后再进行数据传输,确保了传递的数据安全. SSH是专为远程登录会话和其他网络服务提供的安全性协议.利用SSH协议可以有效的防止远程管理过程中的信息泄露问题,在当前的生产环境当中,绝大多数企业普遍采用SSH协议服务来代替传统的不安全的远程联机服务软件.如telnet等. SSH服务功能: a.类似telnet远程…
Linux SSH批量分发管理 原文:http://blog.51cto.com/chenfage/1831166 第1章 SSH服务基础介绍 1.1 SSH服务 1.1.1SSH介绍 SSH是Secure Shell Protocol的简写,由IETF网络工作小组制定:在进行数据传输之前,SSH先对联机数据包通过加密技术进行加密处理,加密后再进行数据传输. SSH是专为远程登录会话和其他网络服务提供的安全性协议,利用SSH协议可以有效的防止远程管理过程中的信息泄露问题,比telnet安全. S…
perl模块Net::SCP::Expect批量下发文件 用Net::SSH::Perl和Net::SCP::Expect写部署脚本 scp分发文件的perl脚本 Perl SCP操作 #!/usr/bin/perl use Net::SCP::Expect; my $pc_ip="192.168.233.135"; my $pc_passwd="test"; my $pc_user="test"; my $pc_ssh_port=";…
[SSH项目实战]脚本密钥的批量分发与执行 标签(空格分隔): Linux服务搭建-陈思齐 ---本教学笔记是本人学习和工作生涯中的摘记整理而成,此为初稿(尚有诸多不完善之处),为原创作品,允许转载,转载时请务必以超链接形式标明文章原始出处,作者信息和本声明.否则将追究法律责任.http://www.cnblogs.com/chensiqiqi/ [TOC] [企业案例] 公司来了8台新服务器,计划组成一个小规模集群架构:其中有一台服务器作为批量管理服务器使用,其余7台则是业务架构所需.现在先由…
最近看了看强大的号称自动化运维的三大利器之一的--ansible,ok,亲测之后,确实感觉,对于我们这种DBA工作者来说,确实很受益. 值得注意的是ansible要求被管理服务器python版本不低于2.6. OK,简单了写了个脚本,实现服务器端面密钥登陆被管理服务器python脚本,这里省略了ansible,python等的部署以及使用. 环境: python 2.7 ansible 2.4.0 pexpect  (pip installpexpect) 以下是批量分发密钥登陆脚本内容: #!…
ssh 无密码登录要使用公钥与私钥.linux下可以用用ssh-keygen生成公钥/私钥对,下面我以CentOS为例. 管理机器外网IP10.0.0.61(内网172.16.1.61) 服务器外网10.0.0.31,端口52113,内网172.16.1.31 (1)首先在所有机器上批量创建管理用户. [root@m01 ~]#useradd oldgirl [root@m01 ~]#echo 123456|passwd --stdin oldgirl [root@m01 ~]#id oldgi…
ssh服务认证类型主要有两个: 基于口令的安全验证: 基于口令的安全验证的方式就是大家一直在用的,只要知道服务器的ssh连接账户.口令.IP及开发的端口,默认22,就可以通过ssh客户端登陆到这台远程主机上.此时,联机过程中所传输的数据都是加密的. 基于密钥的安全验证: 基于密钥的安全验证方式是指,需要依靠密钥,也就是必须事先建立一对密钥对,然后把公钥放在需要访问的目标服务器上,另外,还需要把私钥放到ssh的客户端或对应的客户端服务器上. 此时,如果想要连接到这个带有公钥的ssh服务器,客户端s…
centos6 sshpass批量分发key yum install sshpass -y ssh-keygen -t dsa -f ~/.ssh/id_dsa -P "" 命令说明: ssh-keygen:生成密钥对命令 -t:指定密钥对的密码加密类型(rsa,dsa两种) -f:指定密钥对文件的生成路径包含文件名 -P(大写):指定密钥对的密码 - centos6可以,7好像有问题 sshpass -p123456 ssh-copy-id -i /root/.ssh/id_rsa.…
centos shell编程4[分发系统] 服务器标准化  mkpasswd 生成密码的工具  expect讲解   expect传递参数   expect自动同步文件  expect指定host和要同步的文件   expect文件分发系统  expect自动发送密钥脚本  Linux脚本执行方式  第三十八节课 expect:TCL语言非常经典的扩展部分,实现程序的自动交互 服务器标准化:所有程序的路径,所有用户的密码,root密码都是一样的定期会全部更新root密码,这个叫标准化 http:…
[TOC] 前言 <项目实战>系列为<linux实战教学笔记>第二阶段内容的同步教学配套实战练习,每个项目循序衔接最终将组成<Linux实战教学笔记>第二阶段核心教学目标10台规模的基础核心服务架构集群.本文上接http://www.cnblogs.com/chensiqiqi/p/6556509.html 项目实战二 本文转自   [SSH项目实战三]脚本密钥的批量分发与执行 - 陈思齐 - 博客园http://www.cnblogs.com/chensiqiqi/p…
ssh key 免密码登陆服务器,批量分发管理以及挂载远程目录的sshfs 第一部分:使用ssh key 实现服务器间的免密码交互登陆 步骤1: 安装openssh-clients [root@001 ~]# yum install openssh-clients -y 步骤2: 创建用户,所有机器同时操作,可直接使用root [root@001 ~]# useradd test #如果使用root,这里跳过 [root@001 ~]# echo "123456"|passwd --s…
一.ssh服务介绍 1.ssh安全的加密协议用于远程连接服务器 2.默认端口是22,安全协议版本ssh2,它能同时支持RSA和DSA秘钥,SSH1只支持RSA 3.服务端主要包含两个服务功能ssh远程连接,SFTP服务 4.ssh客户端包含ssh连接命令,以及远程拷贝scp命令 5.SSH服务由 服务端软件OpenSSH 和客户端SSH(putty等) 6.Pivate key 和Public key 私钥和公钥 7.配置文件 /etc/ssh/sshd_config中有d表示服务端,没d代表客…
这里演示如何将 salt-master 上的文件批量分发到多台 salt-minion,步骤如下: [root@localhost ~]$ cat /srv/salt/top.sls # 先定义入口配置文件 base: '*': - send_file [root@localhost ~]$ cat /srv/salt/send_file.sls # 定义要加载的sls文件 send_file: # send_file 只是一个标识,方便我们查看这个文件的作用 file.managed: # f…
这里演示如何将 salt-master 上的目录批量分发到多台 salt-minion,步骤如下: [root@localhost ~]$ cat /srv/salt/top.sls # 先定义入口配置文件 base: '*': - send_directory [root@localhost ~]$ cat /srv/salt/send_directory.sls # 定义要加载的sls文件 send_directory: # send_directory 只是一个标识,方便我们查看这个文件的…
SSH密码认证原理 几点说明: 1.服务端/etc/ssh目录下有三对公钥私钥: [root@m01 ssh]# ls moduli ssh_config sshd_config ssh_host_dsa_key ssh_host_dsa_key.pub ssh_host_key ssh_host_key.pub ssh_host_rsa_key ssh_host_rsa_key.pub 其中,ssh_host_key和ssh_host_key.pub 用于ssh协议1版本:其它两对密钥用于ss…
第一:ssh配置文件详解 第二:ssh公私密钥的生成 第三:ssh公钥分发之一:ssh自带工具ssh-copy-id工具分发 第四:ssh公钥分发之二:编写sshpass脚本批量分发 第五:ssh公钥分发之三:使用ansible自带模块批量分发…
使用sshpass配合ssh-kopy-id编写脚本批量分发密钥: 首先sshpass是一个ssh连接时的免交互工具,首先要安装一下: yum install sshpass -y 接下来我们就可以使用sshpass工具了,一条命令形式分发ssh公钥: sshpass -p "ssh登录密码" ssh-copy-id -i /root/.ssh/id_dsa.pub -o StrictHostKeyChecking=no root@123.56.221.190 此时就可以将公钥发送到被…
使用ansible对远程主机上的ssh公钥进行批量分发或者是删除修改操作 ansible内置了一个authorized_key模块,这个模块很好用,我们使用这个模块可以对远程 主机上的ssh公钥进行批量删除,添加或者修改的操作,官网地址: http://docs.ansible.com/ansible/latest/modules/authorized_key_module.html#id1 从官网上可以看到,这个模块是使用playbook的形式进行配置的: 默认有如下几个参数,因为官网是按字母…
将以下内容保存为.sh文件后运行即可,需根据各自情况修改ip_up和ip_arr #!/bin/bash #脚本功能:ssh秘钥免交互批量分发 #制 作 人:罗钢 联系方式:278554547@qqcom #要点提示:ssh-keygen -f和-n参数免交互生成秘钥;sshpass命令免交互输入密码;ssh -o参数取消提示语句 . /etc/init.d/functions Ip_up=172.16.1. Ip_arr="7 31 41" Pass_c=123456 Pass_e=…
脚本基本原理 1.控制端免交互创建秘钥和公钥: 1 ssh-keygen -t rsa -f /root/.ssh/id_rsa -N "" 2.免交互发送公钥 1 sshpass -ppassword ssh-copy-id -i /root/.ssh/id_rsa.pub "-o StrictHostKeyChecking=no user@172.25.0.21" sshpass              # 非交互式SSH密码提供 -o StrictHostK…
shell 结合expect 写的批量scp脚本工具 except安装:http://www.cnblogs.com/lovychen/p/6525623.html expect用于自动化地执行linux环境下的命令行交互任务,例如scp.ssh之类需要用户手动输入密码然后确认的任务.有了这个工具,定义在scp过程中可能遇到的情况,然后编写相应的处理语句,就可以自动地完成scp操作了 在部署一个任务时,其中有一项必须的过程就是将一些文件,如安装包发送到大量的服务器上去.虽然已有宇哥的脚本可用:通…
#################以下所有的命令脚本都是在centos7系统上实现,centos6略有不同 客户端使用公钥连接服务器的步骤: 提起ssh我们就能想到的是远程连接,平时我们都是通过密码来登录linux主机,其实我们还是可以通过密钥来登录linux的,那么它的实现步骤是怎样的呢? 第一步:客户端通过ssh-keygen生成一对密钥,会自动存放在家目录的.ssh/authorized_keys文件下 第二步:客户端通过ssh-copy-id把公钥上传到服务器,会自动保存在目的用户家目录…
1.在使用之前,先安装epel源,yum install expect -y2.写分发脚本,后缀为exp #!/usr/bin/expect set host_ip [lindex $argv 0] spawn ssh-copy-id -i /root/.ssh/id_rsa.pub $host_ip expect { -timeout 60 "(yes/no)?" { send "yes\n";exp_continue} "password:"…
转自:http://blog.csdn.net/napolunyishi/article/details/18219867 这两天做了一个需求,因为上一个版本的/tmp空间默认只分配了5G,而升级程序上传解压路径也是/tmp,且解压过程要占用5G左右的空间,这样 就导致/tmp空间占满,解压失败,升级无法进行.后来想了一个办法,就是从/var建了一个软链接到/tmp,这样实际上升级文件上传解压到/var路 径下了,解决了/tmp路径空间不足的问题.但是因为客户那里是一个cluster环境,由6个…
(1)expect实现ssh非交互登录 注意:注释不能出现这脚本里面 spawn表示开启一个会话 \r:表示回车,exp_continue :表示没有出现这样,继续往下执行 interact :停留在对面终端 #!/usr/bin/expect spawn ssh root@192.168.111.101 expect { "yes/no" { send "yes\r"; exp_continue } "password" { send &quo…
我们有时可能会批量去操作服务器,比如批量在服务器上上传某个文件,安装软件,执行某个命令和脚本,重启服务,重启服务器等,如果人工去一台台操作的话会特别繁琐,并浪费人力. 这时我们可以使用expect,向目标服务器上发送指令去实现批量操作. 下面的例子将在centos上将一个文件,批量拷贝到其他服务商上,并执行相应的命令 1. 在centos上安装expect yum install expect 2. 编写expect脚本 copyfilebatch.sh 下面的脚本将向内网IP为 192.168…