定时自动更改SSH密码并断开SSH连接

  • A+
所属分类:Linux

很多免费提供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了。

avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:2   其中:访客  2   博主  0

    • avatar Hong 0

      那怎么让密码在网页上显示啊?

      • avatar 赣州生活网 0

        第一次来访,博客很不错哦