看到网上有很多免费提供SSH账号的。他们可以实现自动定时更改SSH密码,比如10分钟改一次。并且隔一段时间,还可以自动定时断开SSH。
于是一时兴起,研究了一下他们是怎么实现自动定时更改SSH密码,自动定时断开SSH。并把研究的结果,分享给大家。
大家先用Root账号登录进VPS, 建立一个autofreessh的文件夹 mkdir /usr/share/autofreessh
cd /usr/share/autofreessh
然后大家建立两个文件/usr/share/autofreessh/renew_freessh.sh和/usr/share/autofreessh/close_freessh.sh
renew_freessh.sh文件内容 - #!/bin/sh
- userdel freessh
- /usr/bin/php -r '$pwd=substr(md5("saltsecne99cc".time()),5,5);file_put_contents("/usr/share/autofreessh/pwd.txt",$pwd);file_put_contents("/usr/share/autofreessh/crypt.txt",crypt($pwd));'
- PASSWORD=$(cat /usr/share/autofreessh/pwd.txt)
- CPT=$(cat /usr/share/autofreessh/crypt.txt)
- useradd -N -s /usr/sbin/nologin -p $CPT freessh
- echo "User: freessh"
- echo "Password: $PASSWORD"
- echo ""
- unlink /usr/share/autofreessh/crypt.txt
复制代码
close_freessh.sh文件内容
- #!/bin/sh
- killall -u freessh //接下来设置他们的执行权限
- chmod a+x /usr/share/autofreessh/*.sh //加入crontab,执行crontab -e
复制代码输入以下内容 */10 * * * * /usr/share/autofreessh/renew_freessh.sh
*/30 * * * * /usr/share/autofreessh/close_freessh.sh //每十分钟,自动更改一次freessh账号密码
每30分钟,自动断开freessh的链接。
保存crontab,重启一下cron服务/etc/init.d/cron restart
现在己经实现自动定时更改SSH密码和自动定时断开SSH了。
|