让终端走代理的几种方法

(2017.9.17更新)

方法1:

在终端中直接运行命令

1
export http_proxy=http://proxyAddress:port

这个办法的好处是简单直接,并且影响面很小(只对当前终端有效,退出就不行了)。

如果你用的是ss代理,在当前终端运行以下命令,那么wget curl 这类网络命令都会经过ss代理

1
export ALL_PROXY=socks5://127.0.0.1:1080

方法2:

把代理服务器地址写入shell配置文件.bashrc或者.zshrc

直接在.bashrc或者.zshrc添加下面内容

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#部署