码迷,mamicode.com
首页 > 系统相关 > 详细

用shell脚本编写ssh直接修改目标服务器的密码以及ssh的应用

时间:2015-10-05 23:33:15      阅读:390      评论:0      收藏:0      [点我收藏+]

标签:用shell脚本编写ssh直接修改目标服务器的密码以及ssh的应用

1.在生成环境中经常要修改服务器的密码,以保证安全,可以用shell编写脚本。

用ssh直接修改对方服务器的密码可以用ssh 用户名@登录IP 后跟命令就可以实现,但是需要管理员输入密码后才能操作,为了不让管理员手动进行输入所以用expect解决此方案,由于expect是单独的命令在/bin/bash是无法使用的,所以必须要嵌套使用,<<代表以什么结尾,EOF代表以EOF结尾,spawn输入登录的命令行,expect为期待着问什么,send代表发送需要的内容,\r代表为回车符。

1台服务器修改密码的方法

技术分享

技术分享

多台服务器并且在全国各地IP地址都是不同的密码修改,专门编写存放IP地址的文件,然后在脚本中调用该文件。

技术分享

2.ssh输入时出现一下错误的提示,无法ssh登录到服务器端,提示如下,说明对端服务器的验证被删除。

技术分享

服务器端删除验证的方法

技术分享

服务器端解决的方案

技术分享

解决ssh输入时出现一下错误的提示,删除的本机的known_hosts文件

技术分享

技术分享

ssh用秘钥验证的方法:在本地机器上生成秘钥对,把生成的公钥放到服务器端,这样用户就可以不用输入密码就可以登录。

技术分享

查看生成的公钥和私钥

技术分享

把生成的公钥上传到服务器端

技术分享

3.在远程服务器添加一个用户为fanlj,但是不登陆到远程主机.

技术分享

技术分享

SSH到远程主机时,能够调用远程主机的X窗口

ssh -X   192.168.1.30

sshd配置文件解析

技术分享

# vim  /etc/ssh/sshd_config

Port 3389          //修改端口号,修改后客户端登陆ssh  -p  3389 x.x.x.x

Protocol 2

ListenAddress  192.168.168.174       //不是在所有IP地址上监听,只监听指定IP地址

PermitRootLogin  no        //不允许root用户以ssh方式登陆

PermitEmptyPasswords  no   //不允许使用空密码

UseDNS no            //不执行DNS反解

LoginGraceTime  2m    //登录限时(宽限期),若客户端超过此时间(默认2分钟)

//未登录成功,服务器将主动断开连接

StrictModes yes        //严格模式,此模式会在允许登入前检查用户家目录和密钥库

//文件的权限、归属,若有异常(其他人能写入)则拒绝登入

MaxAuthTries  6     //每次连接允许认证登录的最多次数,若超过此次数

//仍未登录成功,服务器将主动断开连接

4.实现黑名单/白名单

添加两个用户分别为lj和jim

(1)只使用黑名单,其他默认全允许;或只使用白名单,默认其他全拒绝

(2)允许tom用户使用ssh,只允许root用户在192.168.1.30上使用ssh,其他全拒绝

# vim  /etc/ssh/sshd_config

AllowUsers  tom  root@192.168.1.30

在服务器端配置192.168.1.30

技术分享

技术分享

技术分享

技术分享

在客户端进行测试

技术分享

技术分享





本文出自 “脚踏实地向前行” 博客,请务必保留此出处http://343614597.blog.51cto.com/7056394/1700270

用shell脚本编写ssh直接修改目标服务器的密码以及ssh的应用

标签:用shell脚本编写ssh直接修改目标服务器的密码以及ssh的应用

原文地址:http://343614597.blog.51cto.com/7056394/1700270

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!