其实之前也看过相关文章，说要修改ssh默认端口22以提高安全性，但也有文章指出，如果对方有意爆破的话，他也可以扫描你所有端口。我个人比较认同后面的说法，觉得高强度的长密码才是王道。当然也有懒的原因。但是还是决定要修改端口号了。原因是看了这篇文章《虚拟主机和VPS的几个区别》http://www.auiou.com/relevant/00001444.jsp提到“尤其是Linux主机下的/var/log/btmp文件的增长速度特别快”。笛声大佬评论说：你怎么总是纠结 /var/log/btmp 这个文件，这个文件你用 lastb -f /var/log/btmp看看，里面全是记录了失败的登录，就是说有人一直在爆破你的密码，你把sshd的端口改一下，一般就没人来爆破了，我登录了好几台机器去看了，这个文件大小一直是0。所以虽然目前我的vps没有被破，但是为了节约磁盘空间，还是说干就干。第一、修改 /etc/ssh/sshd_config找到#Port 22，再插入一行设置成你想要的端口号，注意不要跟现有端口号重复。建议一万以上的，当然要小于65535。第二、重启ssh： systemctl restart sshd第三、用你刚才的端口登录进去，如果成功了，就注释掉port 22，继续重启ssh。第四、用端口22登录，发现登不了了，再用新端口，能用，那么就恭喜啦！另附：清空文件的方法: > filename > filename #最简单，推荐 echo "" > filename echo > filename 1和2两种方式是0字节，3和4两种方式是1字节。清空多个文件，比如清空多个log：ls *.log | awk 'NR>1 {print "echo > " $NF }' |sh为什么要清空文件，而不是删除文件呢？其实还可以写一篇文章，但我还是一并写在这里了。有一次按照网上的文章，删除了许多log文件，但是nginx等却启动不了了，要手动启动。我感觉linux下的软件简直是白莲花，就不能像windows下面的软件一样，自己再生成文件吗？比如Windows下某某软件，我删了他的缓存，启动该软件后，它又重新生成了一堆缓存。感觉自己是习惯了这些流氓行为，而对linux下的白莲花行为不习惯呢！（晕……）附上勇哥的脚本：port='3635'; a=''; a2='/etc/ssh/sshd_config'; a1=`cat $a2`; if [[ $a1=~ '#Port 22' ]]; then sed -i "s/#Port 22/Port $port/g" $a2; fi; if [[ $a1 =~ 'Port 22' ]]; then sed -i "s/Port 22/Port $port/g" $a2; fi; if [[ $a1 =~ 'Port ' ]]; then a=''; else sed -i '$a\'"\nPort $port" $a2; fi; reboot; 请修改上述的 port='3635'; 的值.
递归修改目录权限为755，文件权限为644linux的原则是最小权限够用就行，不相关的文件只需要只读权限即可。实现方法：递归修改权限方法是通过 find命令 根据文件参数查找到对应的类型之后执行指定权限。说明：以下**path**为你需要修改的目录的路径。1.修改所有者： chown -R root.root path （递归修改指定路径的所有文件为root用户组所有） 如果是网站目录建议修改所有者为：www-data:www-data2.递归修改目录权限、文件权限： find -type d|xargs chmod 755 find -type f|xargs chmod 644 方法二： #find 路径 -type d -exec chmod 755 {} \; #find 路径 -type f -exec chmod 644 {} \;
在Debian 8 nginx下安装Let's encrypt Wildcard SSL
Let's encrypt Wildcard（Wildcard其实是通配符的意思，但是网友们喜欢称“野卡”）网上的代码，我试过很多都不行，下面这个代码是我从certbot官网以及经过本人一些改动得来，在Debian 8 nginx下通过。apt-get remove certbotwget https://dl.eff.org/certbot-autosudo mv certbot-auto /usr/local/bin/certbot-autosudo chown root /usr/local/bin/certbot-autosudo chmod 0755 /usr/local/bin/certbot-autosudo /usr/local/bin/certbot-auto certonly --manual解释：certonly 表示只要申请证书，不需要它自动配置nginx，--manual表示手动的意思。接下来，会有几个yes or no，自己看清楚来选，然后有一个是添加dns解析的，请按提示操作即可。/usr/local/bin/certbot-auto renew #这个代码是用来更新证书的，其实有一个是加入任务列表，自动更新的，但运行不了，不知道怎么回事。