VpsAdd教程:定时自动更改SSH密码并断开SSH连接教程二种

作者: admin 分类: VPS新手教程 发布时间: 2013-07-27 14:33

VpsAdd教程:定时自动更改SSH密码并断开SSH连接教程二种

第一种:

使用root账号登录VPS, 建立一个文件夹,名字随便比如autossh

mkdir /usr/share/autossh

cd /usr/share/autossh

在这个文件夹下建立两个文件,文件名随便

/usr/share/autossh/r_autossh.sh

/usr/share/autossh/c_autossh.sh

r_autossh.sh文件内容

#!/bin/sh

userdel autossh

/usr/bin/php -r ‘$pwd=substr(md5(“saltsecne99cc”.time()),5,5);file_put_contents(“/usr/share/autossh/pwd.txt”,$pwd);file_put_contents(“/usr/share/autossh/crypt.txt”,crypt($pwd));’

PASSWORD=$(cat /usr/share/autossh/pwd.txt)

CPT=$(cat /usr/share/autossh/crypt.txt)

useradd -N -s /usr/sbin/nologin -p $CPT freessh

echo “User: freessh”

echo “Password: $PASSWORD”

echo “”

unlink /usr/share/autossh/crypt.txt

c_autossh.sh文件内容

#!/bin/sh

killall -u freessh

然后设置执行权限

chmod a+x /usr/share/autossh/*.sh

设置crontab,执行crontab -e

# m h dom mon dow command

*/10 * * * * /usr/share/autossh/r_autossh.sh #每十分钟,自动更改一次freessh账号密码

*/30 * * * * /usr/share/autossh/c_autossh.sh #每30分钟,自动断开freessh的链接

保存crontab,重启一下cron服务/etc/init.d/cron restart

现在己经实现自动定时更改SSH密码和自动定时断开SSH了。

================================================

第二种:

现ssh定时更换密码,自己看吧。
1.需要expect,用于生产随机密码

#yum install expect

安装好后就可以使用mkpasswd来更改密码。

2.在home下面创建chpass.sh文件,内容如下,并且赋予可执行权限。

#!/bin/bash
pass=`mkpasswd -l 8 -d 8 -c 0 -C 0 -s 0 用户名`
cat /dev/null > /home/aaa/pass.txt
echo $pass >> /home/aaa/pass.txt
3.创建PHP文件。源码如下,请根据自己需要进行更改:

<?php 
$passwd=file (“/home/aaa/pass.txt”); 
foreach ($passwd as $pass); 
echo $pass; 
$file=”/home/aaa/pass.txt”; 
$ctime=date(“Y-m-d H:i:s”,filectime($file)); 
$ntime= date(“Y-m-d H:i:s”); 
echo $ctime; 
echo “</br>”; 
echo $ntime;  
?>

文中的pass.txt文件为密码输出文件。

4.设置定时自动更改密码。你可以创建cron任务。通过crontab -e编辑

每半个小时更新:0,30 * * * * /home/chpass.sh

我是设置的每一个小时更新,所以直接把pass.sh文件复制到/etc/cron.hourly文件夹内就可以了。注意赋予可执行权限。本文来自:

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据