ssh使用public key认证登录

  1. 修改/etc/ssh/sshd_config文件:
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys
PasswordAuthentication no
  1. ~/.ssh/authorized_keys文件末尾添加public key
# cat id_rsa.pub >> ~/.ssh/authorized_keys
  1. 重启sshd服务:
# service sshd restart

如果使用public key登录的时候报错:

$ ssh git@jiya.io
Permission denied (publickey).

解决方法:检查~/.ssh/目录和~/.ssh/authorized_keys文件的属性,~/.ssh/目录的属性应该为700~/.ssh/authorized_keys文件的属性应为600

# stat -c %a .ssh/
700
# stat -c %a .ssh/authorized_keys 
600

家目录的权限应该为700

自动将SSH攻击者IP加入黑名单

偶然发现有人暴力破解我的VPS管理员密码,如图:

image

真是无语了,想想一个小小的VPS也攻击,这样也不大好吧。网上找到了一个工具(sshblack),使用方法非常简单,参考「INSTALL.TXT」文件内的步骤做即可:

chmod 755 /usr/src/sshblack/sshblack.pl
iptables -N BLACKLIST
iptables -I INPUT 3 -p tcp --dport 22 -j BLACKLIST
iptables-save

在保存iptables的时候你可能需要直接修改/etc/sysconfig/iptables文件的内容。

以上,可以直接执行iptables-setup.sh脚本。

最后,将sshblack.pl脚本设为自启动即可,我是直接在/etc/rc.d/rc.local文件最下面添加如下内容:

nohup /usr/bin/perl /usr/src/sshblack/sshblack/sshblack.pl > /dev/null 2>&1 &

其他:另外还推荐使用denyhosts,当时没发现,这个更好用。

参考链接:http://www.pettingers.org/media/sshblack-install.txt

备份链接:https://jiya.io/usr/uploads/2014/12/sshblackv281.tar.gz

VLC学习(1) Linux 下编译 VLC for Android

最近在研究VLC播放器,主要目的是使用Android平台VLC播放器进行RTMP直播,研究目的是为了降低RTMP直播的延迟,目标将延迟降到1s以内。

首先需要在Linux(本人使用Ubuntu 14)下编译VLC for Android的源码,根据官方的Wiki,以及自己实际操作的步骤,总结为如下:

1. 安装及更新系统工具

#apt-get install ant autoconf automake autopoint cmake gawk gcc g++ libtool m4 patch pkg-config ragel subversion unzip

2. 安装VLC相关依赖库

#apt-get build-dep vlc

3. 安装配置JDK
从Oracle官网下载JDK,VLC官方推荐使用JAVA 6版本,我解压的目录是"/usr/lib/jvm".
下载后解压,并根据解压目录设置环境变量如下:

#vi /etc/profile
   export JAVA_HOME=/usr/lib/jvm/jdk1.6.0_45
   export PATH=$JAVA_HOME/bin:$PATH
   export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
#source /etc/profile

4. 下载Android sdk及ndk并设置环境变量
从官方网站下载,并解压。国内源(http://mirrors.neusoft.edu.cn/android/repository/

#vi /etc/profile
   export ANDROID_SDK=/path/to/android-sdk
   export ANDROID_NDK=/path/to/android-ndk
   export PATH=$PATH:$ANDROID_SDK/platform-tools:$ANDROID_SDK/tools
#source /etc/profile

另外,编译是可能需要不止一个版本的SDK,我在编译时下载的SDK 20版本,但是还需要19和21版本,这里只需要在Android SDK的目录下的platforms下新建“Android-19”和“Android-21”目录,并下载对应的SDK放置其中即可。

- 阅读剩余部分 -

使用vs2013编译chromium

1. 下载「depot_tools」,两种方式:

a. 下载zip包,链接:https://src.chromium.org/svn/trunk/tools/depot_tools.zip
b. 从代码仓库中下载,命令如下:

git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git 

2. 从官方下载源代码,有两种方法(针对release和代码仓库中最新代码)

a. fetch命令:该命令是直接从“https://chromium.googlesource.com/chromium/src.git”中获取最新代码;
b. gclient命令:先配置(gclient config)欲下载地址,再同步(gclient sync)即可;

gclient config http://src.chromium.org/chrome/releases/39.0.2132.2/ # 配置欲下载代码版本,会在当前目录生成.gclient文件
gclient sync # 下载chromium源代码,如果出现错误无法解决,可附加--force参数以解决

3. 生成vs2013的项目文件

a. 配置环境变量:需要配置的环境变量有DEPOT_TOOLS_WIN_TOOLCHAINGYP_MSVS_VERSIONGYP_DEFINES,可以在控制台下执行如下命令,另外也可配置到系统环境变量:

set DEPOT_TOOLS_WIN_TOOLCHAIN=0
set GYP_MSVS_VERSION=2013
set GYP_DEFINES=component=shared_library  

b. 执行gclient runhooks即可在src/chrome下生成chrome.sln文件

备注:由于国内google被封,所以建议购买一个vpn临时使用,推荐「YesVPN」,地址自己google吧。

参考链接:

http://www.chromium.org/developers/how-tos/build-instructions-windows
http://blog.csdn.net/zpxili/article/details/22609379