打造自己的免费SSH账号,定时断开SSH连接
2012年2月13日
看到网上有很多免费提供SSH账号的。他们可以实现自动定时更改SSH密码,比如10分钟改一次。并且隔一段时间,还可以自动定时断开SSH。
于是一时兴起,研究了一下他们是怎么实现自动定时更改SSH密码,自动定时断开SSH。并把研究的结果,分享给大家。
大家先用Root账号登录进VPS, 建立一个autofreessh的文件夹
1 2 |
mkdir /usr/share/autofreessh cd /usr/share/autofreessh |
然后大家建立两个文件/usr/share/autofreessh/renew_freessh.sh和/usr/share/autofreessh/close_freessh.sh
renew_freessh.sh文件内容
1 2 3 4 5 6 7 8 9 10 |
#!/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文件内容
1 2 |
#!/bin/sh killall -u freessh |
接下来设置他们的执行权限
1 |
chmod a+x /usr/share/autofreessh/*.sh |
加入CronTab,执行crontab -e
输入以下内容
1 2 |
*/10 * * * * /usr/share/autofreessh/renew_freessh.sh */30 * * * * /usr/share/autofreessh/close_freessh.sh |
每十分钟,自动更改一次freessh账号密码
每30分钟,自动断开freessh的链接。
保存crontab,重启一下cron服务
1 |
/etc/init.d/cron restart |
现在己经实现自动定时更改SSH密码和自动定时断开SSH了。
如果你想要在web页面展示当前的密码。可以用php来读取/usr/share/autofreessh/pwd.txt文件。这是未加密的明文密码。
1 2 3 |
<?php echo "Current freessh password:". file_get_contents("/usr/share/autofreessh/pwd.txt"); ?> |
声明: 本文采用 BY-NC-SA 协议进行授权. 转载请注明转自: 打造自己的免费SSH账号,定时断开SSH连接