建站经验 experience
当前位置:首页 > 网站建设专题 > 建站经验
定时自动更改SSH密码并断开SSH连接
发布日期:2012-03-13 阅读次数:905 字体大小:

很多免费提供SSH账号的都是自动定时更改SSH密码,比如每10分钟改一次。并且隔一段时间,还可以自动定时断开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了。

本文来自:http://www.sishaofeng.com