仓酷云
标题:
来一发批量修正近程CentOS办事器暗码
[打印本页]
作者:
不帅
时间:
2015-1-14 20:14
标题:
来一发批量修正近程CentOS办事器暗码
如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的小伙伴们!
公司如今有
100
多台办事器,必要对办事器举行批量的修正
root
暗码,还要在每台办事器新建一个用户,假如一个一个登到的办事器长进行修正的话,估量一个下战书又没有了,起首想到的是我最喜好的
php
,个中有个
ssh2
模块,不能不供认用
php
来处置如许的义务是一件很纠结的事变,然后又想到了用
shell
,不外发明很快就写不下往了,
shell
的交互才能仍是不克不及让人奉承的,最初发明了
expect
,
expect
以其壮大的交互才能,无疑是处置这类义务的首选,再加上
expect
能够内嵌
shell
,这使得他变得更壮大。
第一种***
经由过程
expect
批量修正
linux
办事器用户名和暗码
起首要有一个办事器的
ip
列表,把要处置的
ip
放在内里
192.168.6.236
192.168.6.235
192.168.6.234
192.168.6.233
192.168.6.232
192.168.6.231
.....
然后是
shell
剧本
shell.sh
#!/bin/bash
if["$1"=""]||["$2"=""]||["$1"="--help"]["$1"="-h"]
then
echo"usage:shell.shpath/iplistpath/adduser"
exit
fi
cat$1|whilereadline
do
[-z$line]&&continue
$2$line;
done
echo-e"
welldone
"
上面是最主要的局部
adduser
#!/usr/bin/expect
#
登录的用户名
setloginuser""
#
暗码
setloginpass""
#
要修正的用户名
setpassuser"dfdjfk"
#
要修正成的新暗码
setnewpass"yournewpassword"
#
要增加的新的用户名
setnewusername"newusername"
#
要增加的新用户的暗码
setnewpasswd"newpasswd"
setipaddr[lrange$argv00]
settimeout300
setcmd_prompt"]#|~]?"
#---------------------------------------------------
经由过程
ssh
登录
spawnssh$loginuser@$ipaddr
settimeout300
expect{
-re"Areyousureyouwanttocontinueconnecting(yes/no)?"{
send"yes"
}-re"assword:"{
send"$loginpass"
}-re"Permissiondenied,pleasetryagain."{
exit
}-re"Connectionrefused"{
exit
}timeout{
exit
}eof{
exit
}
}
expect{
-re"assword:"{
send"$loginpass"
}
-re$cmd_prompt{
send""
}
}
#-------------------------------------------
修正暗码
send"passwd$passuser";
expect{
"NewUNIXpassword:"{
send"$newpass"
}
"passwd:Onlyrootcanspecifyausername."{
exit
}
}
expect{
"RetypenewUNIXpassword:"{
send"$newpass"
}
}
#------------------------------------------------------
增加一个新用户并改暗码
expect-re$cmd_prompt
sleep1
send"useradd$newusername"
sleep1
send"passwd$newusername";
expect{
"NewUNIXpassword:"{
send"$newpasswd"
}
"passwd:Onlyrootcanspecifyausername."{
exit
}
}
expect{
"RetypenewUNIXpassword:"{
send"$newpasswd"
}
}
#---------------------------------------------
加入
expect-re$cmd_prompt
exit
ok
调试完也快要消费了一个下战书
第二种***
经由过程
shell
剧本完成批量变动暗码
#!/bin/bash
#BYkerryhu
#MAIL:king_819@163.com
#BLOG:http://kerry.blog.51cto.com
#PleasemanualoperationyumofbeforeOperation.....
1、创建信托干系
192.168.9.203
为办理机
192.168.9.201192.168.9.202
为近程linux办事器
1
、在办理机天生证书、
[root@manage~]#ssh-keygen-trsa
(然后一起回车)
Generatingpublic/privatersakeypair.
Enterfileinwhichtosavethekey(/root/.ssh/id_rsa):
Enterpassphrase(emptyfornopassphrase):
Entersamepassphraseagain:
Youridentificationhasbeensavedin/root/.ssh/id_rsa.
(私钥)
Yourpublickeyhasbeensavedin/root/.ssh/id_rsa.pub.
(公钥)
Thekeyfingerprintis:
36:ec:fc:db:b0:7f:81:7e:d0:1d:36:5e:29:dd:5b:a0
2
、将办理机上的公钥传送到各近程办事器
如近程办事器变动了默许的ssh端标语,就利用scp-P17173,17173为端标语
[root@manage.ssh]#scpid_rsa.pub192.168.9.201:/root/.ssh/authorized_keys
[root@manage.ssh]#scpid_rsa.pub192.168.9.202:/root/.ssh/authorized_keys
办理机与近程主机信托干系创建终了
注重:大概会呈现
并未创建信托干系的情形。还需操纵一下步调
<pstyle="padding:0px;margin:0px;clear:both;height:auto;overflow:hidden;color:rgb(85,85,85);font-family:宋体,ArialNarrow,arial,serif;font-size:14px;line-height:28px;">
在
GNOME
下设置
ssh-agent
假如你在
GNOME
运转情况下
,
实行以下几步设置
ssh-agent.ssh-agent
工具用户保留你的
DSA
密钥
passphrase
以便每次
ssh
大概
scp
到
MachineB
的时分
.
当你上岸
GNOME,openssh-askpass-gnome
提醒输出
passphrase
并保留
,
直到你加入
GNOME.
在该
GNOMEsession
中
,
当
ssh
大概
scp
毗连到
MachineB
时
,
体系将不再请求你输出
passphrase.
在
GNOMEsession
中保留
passphrase
操纵步调
:
1.
选择
MainMenuButton(
在
Panel
上
)=>Preferences=>MorePreferences=>Sessions,
点击
StartupPrograms
标签
.
点击
Add
而且在
StartupCommand
文本框中输出
/usr/bin/ssh-add.
设定一个低于任何一个已存在的下令的优先级数字
,
以包管它最初被实行
.
一个好的
ssh-add
优先级数字为
作者:
再见西城
时间:
2015-1-15 07:50
标题:
来一发批量修正近程CentOS办事器暗码
求沙发
作者:
飘飘悠悠
时间:
2015-1-17 17:47
我想即使Linux高手也很难快速准确精练的回答你。
作者:
小妖女
时间:
2015-1-26 21:16
一定要学好命令,shell是命令语言,命令解释程序及程序设计语言的统称,shell也负责用户和操作系统之间的沟通。
作者:
蒙在股里
时间:
2015-2-5 03:04
熟悉系统的基本操作,Linux的图形界面直观,操作简便,多加上机练习就可熟悉操作,在Linux下学习办公软件等常用软件。
作者:
谁可相欹
时间:
2015-2-11 03:46
其次,Linux简单易学,因为我们初学者只是学的基础部分,Linux的结构体系非常清晰,再加上老师循序渐进的教学以及耐心的讲解,使我们理解起来很快,短期内就基本掌握了操作和运行模式。
作者:
灵魂腐蚀
时间:
2015-3-1 21:17
要增加自己Linux的技能,只有通过实践来实现了。所以,赶快找一部计算机,赶快安装一个Linux发行版本,然后进入精彩的Linux世界,相信对于你自己的Linux能力必然大有斩获。
作者:
乐观
时间:
2015-3-11 02:11
老实说,第一个程序是在C中编译好的,调试好了才在Linux下运行,感觉用vi比较麻烦,因为有错了不能调试,只是提示错误。
作者:
简单生活
时间:
2015-3-17 20:51
你需要提供精确有效的信息。Linux这并不是要求你简单的把成吨的出错代码或者数据完全转储摘录到你的提问中。
作者:
飘灵儿
时间:
2015-3-25 04:27
熟读写基础知识,学得会不如学得牢。
欢迎光临 仓酷云 (http://www.ckuyun.com/)
Powered by Discuz! X3.2