Mac用iTerm2连接到Linux上,不能输入中文

问题:

服务器是ubuntu,用Mac的iterm2 ssh连上去,终端显示中文乱码,也不能输入中文,然而本地终端可以显示和输入。

解决方法:

这种情况一般是终端和服务器的字符集不匹配,MacOSX下默认的是utf8字符集。
输入locale可以查看字符编码设置情况,而我的对应值是空的。
因为我在本地和服务器都用zsh替代了bash,而且使用了oh-my-zsh,而默认的.zshrc没有设置为utf-8编码,所以本地和服务器端都要在.zshrc设置,步骤如下,bash对应.bash_profile.bashrc文件。

1.在终端下输入

1
vim ~/.zshrc

或者使用其他你喜欢的编辑器编辑~/.zshrc文件

利用iptables防止ssh暴力破解

之前一直没有关注过登陆日志,用 cat /var/log/auth.log命令查看的时候,centos对应cat /var/log/secure满屏满屏的"Failed password for root XXX.XXX.XXX.XXX",等了十多秒都没停下来,用ctrl + c终止后,查看auth.log文件大小,居然有67m,网上搜索了一下,用grep "Failed password for root" /var/log/auth.log | awk '{print $11}' | sort | uniq -c | sort -nr | more 这个命令查看了有多少ip在暴力破解我的ssh,又是满屏满屏的。
找了两条防暴力破解的命令

1
2
iptables -I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent --set
iptables -I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent --update --seconds 60 --hitcount 4 -j DROP

第一句是说,对于外来数据,如果是 TCP 协议,目标端口号是 22,网络接口是 eth0,状态是新连接,那么把它加到最近列表中。

第二句是说,对于这样的连接,如果在最近列表中,并且在 60 秒内达到或者超过四次,那么丢弃该数据。其中的-m是模块的意思。
也就是说,如果有人从一个 IP 一分钟内连接尝试四次 ssh 登录的话,那么它就会被加入黑名单,后续连接将会被丢弃。

我在使用的时候,43.229.53.47这个ip 正在尝试ssh登录,使用了之后查看日志,果然停止了,效果还是很明显,使用之前,每分钟日志记录都在增加。

其他安全设置例如修改ssh端口,禁止root用户登录,禁止密码登录也可以让vps更安全,可参考这里.

网易歌单

现在才知道markdown支持网易外链,直接将iframe代码放进markdown文件就可以了,宽度和高度可以自由设置。


hexo常用命令笔记

hexo

1
2
3
npm install hexo -g #安装  
npm update hexo -g #升级
hexo init #初始化

简写

1
2
3
4
5
hexo n "我的博客" == hexo new "我的博客" #新建文章
hexo p == hexo publish
hexo g == hexo generate#生成
hexo s == hexo server #启动服务预览
hexo d == hexo deploy#部署

vim的常用配置vimrc

首先熟悉一下vim的基本操作,直接在终端输入vimtutor就可以学习基本的操作,或者网上找vimtutor来看一下。还有简明Vim练级攻略也值得一看。

了解一下vim可以看 ”谁说Vim不是IDE?(1~4)” http://www.cnblogs.com/chijianqiang/archive/2012/10/30/vim-1.html

下面是我自己的vimrc配置,都是些很通用的配置和必备的插件,适合入门,不过对于我,掌握那些插件的使用已经足够了。