iptables NAT共享上网

Posted by zuzhihui in Linux技术 on 2008/08/05 with No Comments

在Linux VPS下使用iptables 做NAT的命令如下:

iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

虽然是个很老很常见的命令,但很有用,比如在VPS上做VPN就用的着。我们将要推出美国VPS了,在美国的VPS上安装一个SSL VPN,国内用户就可以无限制访问世界各地的网络了。

Subversion怎样回滚到以前的版本(撤销修改)

Posted by zuzhihui in Linux技术 on 2008/08/04 with No Comments

很多人用VPS做subversion服务器来管理代码。在subversion里面怎样撤销一次错误的check in呢?一般用svn merge来达成目的。

比如我们刚才有了一次错误的checkin,我们想回滚到正确的版本去。

首先保证我们拿到的是最新代码,运行svn update,假设是28版本。

然后找出要撤销的确切版本:

svn log contacts.java

根据log怀疑是27版本改坏的,比较一下:

svn diff -r 26:27 contacts.java

发现果真是27版本坏事。

撤销27版本的改动:

svn merge -r 27:26 contacts.java

为了保险起见,再次确认合并的结果:

svn diff contacts.java

发现已正确撤销了改动,提交。

提交改动

     svn commit -m "Revert wrong change from r27"

提交后版本变成了29。

创建openssl证书和CA的最简单的方法

Posted by zuzhihui in Linux技术 on 2008/08/02 with No Comments

今天打开thunderbird连接到VPS上的dovecot imaps邮件服务器,thunderbird报告说ssl证书过期了。原来是dovecot安装时候自带的证书有效期太短,今天到期了,该更新证书了。

网络上搜索到的大部分方法都是用openssl命令来创建ca和证书,这种方法比较麻烦,容易出错。

我用certtool工具又重新创建了一个ca和一个自认证的openssl证书。过程记录如下:

certtool这个工具包含在gnutls这个包里面,首先要在VPS上安装这个包,在Debian/Ubuntu VPS上运行

apt-get install gnutls-bin gnutls-doc

在CentOS VPS上需要运行:

yum install -y gnutls-utils

创建ca.info文件,内容如下:

cn = rashost
ca
cert_signing_key
expiration_days = 3650

创建CA:

certtool --generate-privkey > ca.key
certtool --generate-self-signed --load-privkey ca.key --template ca.info --outfile ca.cert
certtool -i --infile ca.cert

创建rashost.com.info文件,内容如下:

organization = rashost Inc.
cn = rashost.com
tls_www_server
encryption_key
signing_key
expiration_days = 3650

然后创建证书:

certtool --generate-privkey > rashost.com.key
certtool --generate-certificate --load-privkey rashost.com.key --load-ca-certificate ca.cert --load-ca-privkey ca.key --template rashost.com.info --outfile rashost.com.cert
certtool -i --infile rashost.com.cert

rashost.com.cert是证书文件,rashost.com.key是密钥文件,在dovecot的配置文件里使用这两个文件就可以了。

腾讯QQ for Linux 1.0 Preview已经发布,兑现了承诺

Posted by zuzhihui in Linux技术 on 2008/07/30 with No Comments

腾讯QQ for Linux 1.0 Preview已经发布了,发布页面是 http://im.qq.com/qq/linux/download.shtml

之前腾讯在 http://service.qq.com/info/8828 承诺2008/7/31日发布,看来承诺兑现了!

从发布页面看,QQ for Linux 1.0 Preview支持三种格式deb,rpm和tar.gz,其中deb格式排在第一位。另外根据安装需求要GTK:2.10来判断,这是基于GTK的!看来比较专业,马上安装试试! 可惜我们的VPS没有图形界面,不能安装这个QQ,只能在自己的笔记本上试试了!

怎样把Linux的私钥文件id_rsa转换成putty的ppk格式

Posted by zuzhihui in Linux技术 on 2008/07/29 with 1 Comment

在Linux VPS下产生的私钥文件putty是不认识的,putty只认识自己的ppk格式,要在这两种格式之间转换,需要PuTTYgen这个程序。

puttygen是putty的配套程序,putty的安装包和winscp的安装包都包含了这个程序,当然你也可以在 http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html 单独下载puttygen。

转换步骤:

  1. 运行puttygen
  2. 点击Conversions菜单项中的Import key
  3. 选择在Linux VPS下生成的id_rsa文件
  4. 在puttygen的界面上点击Save private key按钮就可以把私钥转换为ppk的格式了

winscp怎样配置公钥私钥无密码访问Linux VPS

Posted by zuzhihui in Linux技术 on 2008/07/27 with 1 Comment

Winscp同样支持putty格式的私钥文件(.ppk格式),配置方法如下:

  1. 在winscp里面点击新建按钮
  2. 输入主机名,端口,用户名等
  3. 密钥文件部分,输入我们的putty密钥文件
  4. 点击保存按钮

然后winscp就可以安全的无密码连接了!

在putty里面通过公钥私钥更安全的ssh访问Linux VPS

Posted by zuzhihui in Linux技术 on 2008/07/26 with No Comments

putty是Windows下的一个十分优秀的ssh客户端软件。本文介绍怎样通过putty连接到Linux VPS,采用的认证方式不是密码,而是更安全的公钥方式。

首先,产生一个putty格式的私钥文件,比如my.ppk。ppk文件可以这样从Linux下的私钥转换而来

在putty里面配置这个私钥文件,具体步骤是:

  1. 在putty的配置窗口,选中”Default Settings”
  2. 点击”Load”按钮
  3. 在左边栏里面选中”SSH”并展开
  4. 选择SSH下面的AUTH
  5. 在右面点击Browse按钮,选中私钥文件
  6. 在左边选中最上边的Session
  7. 在右边选中Default Settings
  8. 点击Save按钮

这样,putty的缺省配置里面已经加入了私钥文件,然后可以新建立一个连接到Linux VPS,这个新连接就不用输入密码了。需要注意的是以前配置的旧的连接没有加入私钥文件。

这些配置是一次性的,以后就不用麻烦了。另外这个私钥文件是需要严格保密的,丢失了私钥文件相当于丢失了密码。

在CentOS VPS下怎样修改Linux时区

Posted by zuzhihui in Linux技术 on 2008/07/26 with No Comments

在CentOS VPS下运行tzselect可以修改时区,但不是永久的解决方案。最好的办法是:

cp -f /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

这个方法在Debian VPS和Ubuntu VPS下是否可以,本人还没有去验证。

在Ubuntu VPS下用vsftpd配置FTP服务器

Posted by zuzhihui in Linux技术 on 2008/07/23 with No Comments

本文介绍在Ubuntu VPS下怎样配置vsftpd,配置方法应该适用于Debian VPS和CentOS VPS等Linux VPS。

安装

apt-get install vsftpd

配置

安装好之后,配置文件应该在/etc/vsftpd.conf,编辑这个文件,修改如下几个地方:

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022

以上每行解释如下:

  1. 禁止匿名用户访问ftp
  2. 允许本地用户访问ftp
  3. 允许本地用户上载文件
  4. 上载文件的时候,使用的掩码是022

然后重启vsftpd就可以了

/etc/init.d/vsftpd restart

创建ftp用户并修改密码:

adduser myftpuser
passwd myftpuser

然后就OK了!

Linux VPS下批量进行文件名的大小写转换

Posted by zuzhihui in Linux技术 on 2008/07/21 with No Comments

比如说要把files目录下的所有文件的名字都转换成小写字母。

首先创建一个脚本,名字是movelower,内容如下:

#set -x
filename=$1

if [ ! -e "$filename" ]; then
	exit
fi

bigfile=`echo $filename|tr A-Z a-z`

if [ "$filename" != "$bigfile" ]; then
	mv "$filename" "$bigfile"
	echo "$filename" "==>" "$bigfile"
fi

运行

movelower ./File1.TXT

即可把这个文件的名字转换成小写字母的

运行

find ./files -type f -exec ./movelower {} \;

可以把files目录下的所有文件的名字转换成小写字母

Back to Top

2007-2017 © 北京瑞豪开源科技有限公司 京ICP备13004995号-2