Posts Tagged ‘ssh’

Linux系统下Firefox浏览器自动登录SSH代理服务器脚本及设置方法

星期一, 八月 25th, 2014

原创内容,转载请注明出处: http://www.myzhenai.com.cn/post/1845.html http://www.myzhenai.com/thread-16306-1-1.html
SSH定义:
Secure Shell应用层/传输层方式: 通过SSH连接,在本地与远程服务器之间建立一个加密的管道(Tunnel),SSH客户端监听本地端口,形成SOCKET5代理。由于IE对SOCKET5代理不好,大家一般都是用
FireFox。直接将FireFox设置Socket5代理就是可以正常使用的。
Firefox Socxet5设置方法: 编辑\高级\连接\设置\配置访问国际互联网的代理\手动配置代理\socks主机\(输入:127.0.0.1)\端口(输入7070)\Socks V5(选中)\远程dns(勾选)
# 端口可以自定义,但必须和以下你连接ssh时设定的本地监听端口一致.

Linux 系统 Firefox 浏览器 自动 登录 SSH 代理 服务器 脚本 设置 方法

Linux系统下Firefox浏览器自动登录SSH代理服务器脚本及设置方法

#ssh -qTfnN -D 127.0.0.1:7070 root@10.10.10.10 -p 1860

//* 127.0.0.1是本机,7070是本地监听端口,root是ssh服务端用户名,10.10.10.10是ssh服务端ip地址,1860是ssh服务端连接端口,如果你没有更改过端口,这后边的-p 1860可以不用添加.回车后会要求输入密码(不会显示出来)
只要ssh连接没有出现问题的话,这样就可以正常翻强浏览内容了.以下这些脚本是假设你有多个ssh服务器,可以有选择的进行自动登录.
假设我有四个ssh服务器,分别设置四个登录脚本文件,一个控制脚本文件.
控制脚本文件内容:

# !/bin/bash
echo "Please select a channel A=10.10.10.10 | B=11.11.11.11 | C=12.12.12.12 | D=13.13.13.13"
PS3="Please enter your selection:"
select var in "A" "B" "C" "D";do
break;
done
chmod 777 Shell/SSH/*
if [ "$var" == "A" ]; then
echo "password" | sudo -s ./A.sh
fi
if [ "$var" == "B" ]; then
echo "password" | sudo -s ./B.sh
fi
if [ "$var" == "C" ]; then
echo "password" | sudo -s ./C.sh
fi
if [ "$var" == "D" ]; then
echo "password" | sudo -s ./D.sh
fi

Linux 系统 Firefox 浏览器 自动 登录 SSH 代理 服务器 脚本 设置 方法

Linux系统下Firefox浏览器自动登录SSH代理服务器脚本及设置方法


自动登录脚本内容:

#!/usr/bin/expect
#set timeout 30
spawn ssh -qTfnN -D 127.0.0.1:7070 root@10.10.10.10 -p 1860;
# 10.10.10.10 is you server ip, 1860 is you server port
expect "password:*"
send "password\r"
# password is you server root password
expect "*]#"
expect eof

根据你自己的情况,修改了ssh服务器ip地址,连接端口,登录密码后就可以了.

Linux 系统 Firefox 浏览器 自动 登录 SSH 代理 服务器 脚本 设置 方法

Linux系统下Firefox浏览器自动登录SSH代理服务器脚本及设置方法


Linux 系统 Firefox 浏览器 自动 登录 SSH 代理 服务器 脚本 设置 方法

Linux系统下Firefox浏览器自动登录SSH代理服务器脚本及设置方法

linux centos 下fail2ban安装与配置

星期二, 四月 1st, 2014

原创内容,转载请注明出处:http://www.myzhenai.com/thread-16184-1-1.html http://www.myzhenai.com.cn/post/1791.html
关键词: linux fail2ban安装 centos fail2ban安装 linux fail2ban配置 centos fail2ban配置 jail.conf说明 jail.conf配置 fail2ban apache fail2ban mysql fail2ban ddos fail2ban ftp fail2ban phpmyadmin

1:安装epel更新源:http://www.myzhenai.com/thread-15362-1-2.html http://fedoraproject.org/wiki/EPEL/zh-cn

# yum install shorewall gamin-python shorewall-shell shorewall-perl shorewall-common python-inotify python-ctypes fail2ban

or

# yum install gamin-python python-inotify python-ctypes
# wget http://dl.fedoraproject.org/pub/epel/6/i386/fail2ban-0.8.11-2.el6.noarch.rpm
# rpm -ivh fail2ban-0.8.11-2.el6.noarch.rpm

or

# yum install gamin-python python-inotify python-ctypes
# wget http://ftp.sjtu.edu.cn/fedora/epel//5/i386/fail2ban-0.8.4-29.el5.noarch.rpm
# rpm -ivh fail2ban-0.8.4-29.el5.noarch.rpm

2:源码包安装

# wget https://codeload.github.com/fail2ban/fail2ban/tar.gz/0.9.0
# tar -xzvf fail2ban-0.9.0.tar.gz
# cd
# ./setup.py
# cp files/solaris-svc-fail2ban /lib/svc/method/svc-fail2ban
# chmod +x /lib/svc/method/svc-fail2ban

安装路径

/etc/fail2ban
action.d filter.d fail2ban.conf jail.conf

我们主要编辑jail.conf这个配置文件,其他的不要去管它.

# vi /etc/fail2ban/jail.conf

SSH防攻击规则

[ssh-iptables]

enabled  = true
filter   = sshd
action   = iptables[name=SSH, port=ssh, protocol=tcp]
           sendmail-whois[name=SSH, dest=root, sender=fail2ban@example.com, sendername="Fail2Ban"]
logpath  = /var/log/secure
maxretry = 5

[ssh-ddos]
enabled = true
filter  = sshd-ddos
action  = iptables[name=ssh-ddos, port=ssh,sftp protocol=tcp,udp]
logpath  = /var/log/messages
maxretry = 2

[osx-ssh-ipfw]

enabled  = true
filter   = sshd
action   = osx-ipfw
logpath  = /var/log/secure.log
maxretry = 5

[ssh-apf]

enabled = true
filter  = sshd
action  = apf[name=SSH]
logpath = /var/log/secure
maxretry = 5

[osx-ssh-afctl]

enabled  = true
filter   = sshd
action   = osx-afctl[bantime=600]
logpath  = /var/log/secure.log
maxretry = 5

[selinux-ssh]
enabled = true
filter  = selinux-ssh
action  = iptables[name=SELINUX-SSH, port=ssh, protocol=tcp]
logpath  = /var/log/audit/audit.log
maxretry = 5

proftp防攻击规则

[proftpd-iptables]

enabled  = true
filter   = proftpd
action   = iptables[name=ProFTPD, port=ftp, protocol=tcp]
           sendmail-whois[name=ProFTPD, dest=you@example.com]
logpath  = /var/log/proftpd/proftpd.log
maxretry = 6

邮件防攻击规则

[sasl-iptables]

enabled  = true
filter   = postfix-sasl
backend  = polling
action   = iptables[name=sasl, port=smtp, protocol=tcp]
           sendmail-whois[name=sasl, dest=you@example.com]
logpath  = /var/log/mail.log

[dovecot]

enabled = true
filter  = dovecot
action  = iptables-multiport[name=dovecot, port="pop3,pop3s,imap,imaps,submission,smtps,sieve", protocol=tcp]
logpath = /var/log/mail.log

[dovecot-auth]

enabled = true
filter  = dovecot
action  = iptables-multiport[name=dovecot-auth, port="pop3,pop3s,imap,imaps,submission,smtps,sieve", protocol=tcp]
logpath = /var/log/secure

[perdition]

enabled = true
filter  = perdition
action  = iptables-multiport[name=perdition,port="110,143,993,995"]
logpath = /var/log/maillog


[uwimap-auth]

enabled = true
filter  = uwimap-auth
action  = iptables-multiport[name=uwimap-auth,port="110,143,993,995"]
logpath = /var/log/maillog

apache防攻击规则

[apache-tcpwrapper]

enabled  = true
filter	 = apache-auth
action   = hostsdeny
logpath  = /var/log/httpd/error_log
maxretry = 6

[apache-badbots]

enabled  = true
filter   = apache-badbots
action   = iptables-multiport[name=BadBots, port="http,https"]
           sendmail-buffered[name=BadBots, lines=5, dest=you@example.com]
logpath  = /var/log/httpd/access_log
bantime  = 172800
maxretry = 1

[apache-shorewall]

enabled  = true
filter   = apache-noscript
action   = shorewall
           sendmail[name=Postfix, dest=you@example.com]
logpath  = /var/log/httpd/error_log

nginx防攻击规则

[nginx-http-auth]

enabled = true
filter  = nginx-http-auth
action  = iptables-multiport[name=nginx-http-auth,port="80,443"]
logpath = /var/log/nginx/error.log

lighttpd防规击规则

[suhosin]

enabled  = true
filter   = suhosin
action   = iptables-multiport[name=suhosin, port="http,https"]
# adapt the following two items as needed
logpath  = /var/log/lighttpd/error.log
maxretry = 2

[lighttpd-auth]

enabled  = true
filter   = lighttpd-auth
action   = iptables-multiport[name=lighttpd-auth, port="http,https"]
# adapt the following two items as needed
logpath  = /var/log/lighttpd/error.log
maxretry = 2

vsftpd防攻击规则

[vsftpd-notification]

enabled  = true
filter   = vsftpd
action   = sendmail-whois[name=VSFTPD, dest=you@example.com]
logpath  = /var/log/vsftpd.log
maxretry = 5
bantime  = 1800

[vsftpd-iptables]

enabled  = true
filter   = vsftpd
action   = iptables[name=VSFTPD, port=ftp, protocol=tcp]
           sendmail-whois[name=VSFTPD, dest=you@example.com]
logpath  = /var/log/vsftpd.log
maxretry = 5
bantime  = 1800

pure-ftpd防攻击规则

[pure-ftpd]
enabled  = true
filter   = pure-ftpd
action   = iptables[name=pure-ftpd, port=ftp, protocol=tcp]
logpath  = /var/log/pureftpd.log
maxretry = 2
bantime  = 86400

mysql防攻击规则

[mysqld-iptables]

enabled  = true
filter   = mysqld-auth
action   = iptables[name=mysql, port=3306, protocol=tcp]
           sendmail-whois[name=MySQL, dest=root, sender=fail2ban@example.com]
logpath  = /var/log/mysqld.log
maxretry = 5

apache phpmyadmin防攻击规则

[apache-phpmyadmin]
enabled  = true
filter   = apache-phpmyadmin
action  = iptables[name=phpmyadmin, port=http,https protocol=tcp]
logpath  = /var/log/httpd/error_log
maxretry = 3
# /etc/fail2ban/filter.d/apache-phpmyadmin.conf

将以下内容粘贴到apache-phpmyadmin.conf里保存即可以创建一个apache-phpmyadmin.conf文件.

# Fail2Ban configuration file
#
# Bans bots scanning for non-existing phpMyAdmin installations on your webhost.
#
# Author: Gina Haeussge
#
 
[Definition]
 
docroot = /var/www
badadmin = PMA|phpmyadmin|myadmin|mysql|mysqladmin|sqladmin|mypma|admin|xampp|mysqldb|mydb|db|pmadb|phpmyadmin1|phpmyadmin2
 
# Option:  failregex
# Notes.:  Regexp to match often probed and not available phpmyadmin paths.
# Values:  TEXT
#
failregex = [[]client []] File does not exist: %(docroot)s/(?:%(badadmin)s)
 
# Option:  ignoreregex
# Notes.:  regex to ignore. If this regex matches, the line is ignored.
# Values:  TEXT
#
ignoreregex =
# service fail2ban restart

写在最后,在安装完fail2ban后请立即重启一下fail2ban,看是不是能正常启动,因为在后边我们配置完规则后如果发生无法启动的问题我们可以进行排查.如果安装完后以默认规则能够正常启动,而配置完规则后却不能够正常启动,请先检查一下你 /var/log/ 目录下有没有规则里的 logpath= 后边的文件,或者这个文件的路径与规则里的是不是一致. 如果不一致请在 logpath 项那里修改你的路径, 如果你的缓存目录里没有这个文件,那么请你将该配置项的 enabled 项目的值设置为 false. 然后再进行重启fail2ban,这样一般不会有什么错误了.

Linux服务器安全之更改默认端口

星期四, 三月 20th, 2014

原创内容,转载请注明出处: http://www.myzhenai.com.cn/post/1783.html http://www.myzhenai.com/thread-16180-1-1.html
关键字: Kloxo-mr修改默认端口 更改Kloxo-mr 7777 7778端口 kloxo自定义端口 Linux修改ssh端口 Linux修改ftp端口 Centos修改ssh端口 Centos修改ftp端口 修改ssh默认22端口 修改FTP默认21端口 更改pureftpd默认端口 更改vsftpd默认端口 更改proftpd默认端口 更改SSH默认端口 更改FTP默认端口

Linux的安全性能相对于windows来说要高一些,但这并不代表不会受到攻击功侵入,你只要留意看看/var/log/里的各种日志就会发现每天都会有大量的ip在扫描你的ssh,ftp等端口.所以为了更加安全,我们可以将这些默认的端口修改为自定义的端口.我们先来说ssh和ftp.

SSH

# vi /etc/ssh/sshd_config

Port **
**即是你需要的端口号,建议修改个大点的端口,以免和其他端口相冲突.

vsftpd

# find / -name vsftpd.conf
# vi /****/vsftpd.conf

/****/是vsftpd.conf所在目录,在vsftpd.conf中增加 listen_port=*** 最后这个星号这里是自定义的端口号.

proftpd

# vi /etc/proftpd.conf

Port 21
Port ***

pure-ftpd

# vi /etc/pure-ftpd/pure-ftpd.conf

# Bind 127.0.0.1,21
Bind 0.0.0.0,***
将# Bind前的#去掉,并将127替换成0 将21改成你指定的端口

# vi /etc/services

将21和22端口都修改成指定的端口,22端口要改成与sshd_config里的端口一致.21端口要改成pure-ftpd.conf里一致的端口.以此类推…..

# iptables -I INPUT -p tcp  --dport 22 -j DROP
# iptables -I INPUT -p tcp  --dport 25 -j DROP
# iptables -I INPUT -p tcp  --dport 21 -j DROP
# iptables -I INPUT -p tcp  --dport 110 -j DROP
# iptables -I FORWARD -p tcp --dport 22 -j DROP
# iptables -I FORWARD -p tcp --dport 25 -j DROP
# iptables -I FORWARD -p tcp --dport 21 -j DROP
# iptables -I FORWARD -p tcp --dport 110 -j DROP
# service iptables save
# service iptables restart

Kloxo
登录 http:youIP:7778
在端口里更改原端口为你指定的端口,然后

# service kloxo restart

Kloxo-mr
登录 http:youIP:7778
在端口里更改原端口为你指定的端口,然后

# vi /usr/local/lxlabs/kloxo/init/hiawatha.conf

将7777和7778更改为你自定义的端口,然后

# reboot

使用expect控制ssh自动登录连接Linux服务器方法

星期二, 十二月 24th, 2013

关键字:ssh自动输入密码 ssh输入密码 ssh免密码登录linux ssh一键登录脚本
原创内容,转载请注明出处:http://www.myzhenai.com.cn/post/1667.html http://www.myzhenai.com/thread-16105-1-1.html
因为我自己有几台Linux的服务器需要管理,有时候管理的时候需要ssh手动登录并执行相应代码,操作非常繁锁,于是想到自动化脚本,写一个一键管理的脚本,以后只要运行相应的脚本就可以管理对应的服务器,这样的效率就会高很多了,本来Linux上有一个shell脚本,但是执行它还是需要手动登录ssh,能不能自动登录ssh呢? 我查找了网上很多资料,有的人说用ssh-keygen管理方便,但缺点是需要在本地保存Key验证码.于是便选择了expect来实现.方法也非常简单.

expect是Unix系统中用来进行自动化控制和测试的软件工具,由Don Libes制作,作为Tcl脚本语言的一个扩展,应用在交互式软件中如telnet,ftp,Passwd,fsck,rlogin,tip,ssh等等。该工具利用Unix伪终端包装其子进程,允许任意程序通过终端接入进行自动化控制;也可利用Tk工具,将交互程序包装在X11的图形用户界面中。

我们通过Shell可以实现简单的控制流功能,如:循环、判断等。但是对于需要交互的场合则必须通过人工来干预,比如普通用户使用sudo命令时就需要我们手动输入密码;expect就是能够完成这种自动交互任务,而无需人的干预。Expect的作者Don Libes在1990年开始编写Expect时对Expect做有如下定义:Expect是一个用来实现自动交互功能的软件套件(Expect [is a] software suite for automating interactive tools)。系统管理员可以使用它创建用来实现对命令或程序提供输入的脚本:一般来说这些输入都需要手工输入(比如之前提到的执行sudo程序期望用户从终端输入用户密码)进行的,Expect则可以根据程序的提示 模拟标准输入给程序提供信息来实现交互程序执行。
expect和sh的shell脚本不一样,expect是以 #!/usr/bin/expect 开始,而sh则是以# !/bin/bash开始.使用之前需要安装expect. 这里用到的只是expect的几个命令,expect,spawn和send. 回车符号分别是\r \n

#yum install expect*

新建一个shell脚本文件,以.sh为后缀名的文件.例如:AutoLogin.sh 然后将下边的内容保存到该文件中.

#chmod +x AutoLogin.sh
#./AutoLogin.sh

切记expect脚本的执行方式与sh的执行方式不一样,不能用 sh AutoLogin.sh 来执行,否则会出现以下的错误.

AutoLogin.sh: line 3: spawn: command not found
couldn't read file "password:": no such file or directory
AutoLogin.sh: line 5: send: command not found
AutoLogin.sh: line 6: interact: command not found
#!/usr/bin/expect
set timeout 30
spawn ssh -p 1238 110.110.110.110
expect "password:*"
send "0123456789\r"
expect "*]#"
send "rm -rf /usr/local/lxlabs/kloxo/serverfile/tmp/*\n"
expect "*]#"
send "rm -rf /tmp/*\n"
expect "*]#"
send "rm -f /home/admin/__processed_stats/*\n"
expect "*]#"
send "rm -rf /home/kloxo/httpd/lighttpd/*\n"
expect "*]#"
send "rm -rf /var/log/kloxo/*\n"
expect "*]#"
send "rm -f /home/httpd/*/stats/*log\n"
expect "*]#"
send "mysqlcheck -Ao -uroot -p0123456789\n"
expect "*]#"
send "echo 3 > /proc/sys/vm/drop_caches\n"
expect "*]#"
send "echo 0 > /proc/sys/vm/drop_caches\n"
expect "*]#"
send "echo 1 > /proc/sys/vm/drop_caches\n"
expect "*]#"
send "swapoff -a\n"
expect "*]#"
send "swapon -a\n"
expect "*]#"
send "yum clean all\n"
expect "*]#"
send "service mysqld restart\n"
expect "*]#"
send "service lighttpd restart\n"
expect "*]#"
send "exit\n"
expect eof
#!/usr/bin/expect
set timeout 30
#把超时时值设定为30秒
spawn ssh -p 1238 110.110.110.110
#使用ssh连接服务器,如果端口不是默认的22,则使用-p参数加上端口号,1238是端口号,110.110.110.110是服务器IP地址.
expect "password:*"
#提示输入密码
send "0123456789\r"
#输入密码,\r是回车
expect "*]#"
#返回操作符,如果不加这个会自动断开.
send "rm -rf /usr/local/lxlabs/kloxo/serverfile/tmp/*\n"
expect "*]#"
send "rm -rf /tmp/*\n"
expect "*]#"
send "rm -f /home/admin/__processed_stats/*\n"
expect "*]#"
send "rm -rf /home/kloxo/httpd/lighttpd/*\n"
expect "*]#"
send "rm -rf /var/log/kloxo/*\n"
expect "*]#"
send "rm -f /home/httpd/*/stats/*log\n"
#以上这几个是清除服务器临时文件或垃圾文件代码.
expect "*]#"
send "mysqlcheck -Ao -uroot -p0123456789\n"
#优化mysql数据库代码,0123456789是mysql数据库超级管理员密码.
expect "*]#"
send "echo 3 > /proc/sys/vm/drop_caches\n"
expect "*]#"
send "echo 0 > /proc/sys/vm/drop_caches\n"
expect "*]#"
send "echo 1 > /proc/sys/vm/drop_caches\n"
expect "*]#"
#以上这几行是清除服务器内存代码.
send "swapoff -a\n"
expect "*]#"
send "swapon -a\n"
expect "*]#"
send "yum clean all\n"
expect "*]#"
send "service mysqld restart\n"
#重启mysql数据库服务
expect "*]#"
send "service lighttpd restart\n"
#重启lighttpd编译器服务.
expect "*]#"
send "exit\n"
#断开与服务器的连接.
expect eof

当然也可以在linux服务器上创建一个shell脚本文件,例如OptimizationTools.sh 然后将所有操作代码都写在这里.例如将以下内容保存到OptimizationTools.sh文件里. 路径是/home/OptimizationTools.sh 那么,我们只需要在expect脚本里执行 send “sh /home/OptimizationTools.sh\n” 就可以了,就不需要把相应的代码写在expect脚本里.这样代码就简洁一些.

# Linux CentOS Server Shell Tools
# !/bin/bash
# Clear system temporary files and junk files. .
rm -rf /usr/local/lxlabs/kloxo/serverfile/tmp/*
rm -rf /tmp/*
rm -f /home/admin/__processed_stats/*
rm -rf /home/kloxo/httpd/lighttpd/*
rm -rf /var/log/kloxo/*
rm -f /home/httpd/*/stats/*log
# Mysql database optimization
mysqlcheck -Ao -uroot -p0123456789
# Clear system memory .
echo 3 > /proc/sys/vm/drop_caches
echo 0 > /proc/sys/vm/drop_caches
echo 1 > /proc/sys/vm/drop_caches
swapoff -a
swapon -a
yum clean all
# Restart the service component .
service mysqld restart
service lighttpd restart
echo '*********************************************************';
echo '****                                                 ****';
echo '****        cao zuo jie shu                          ****';
echo '****        ming ling yi jing zhi xing wan cheng .   ****';
echo '****                                                 ****';
echo '****     http://www.myzhenai.com.cn                  ****';
#!/usr/bin/expect
set timeout 30
spawn ssh -p 1238 110.110.110.110
expect "password:*"
send "0123456789\r"
expect "*]#"
send "sh /home/OptimizationTools.sh\n"
expect "*]#"
send "exit\n"
expect eof

expect 控制 ssh 自动 登录 连接 Linux 服务器 方法

使用expect控制ssh自动登录连接Linux服务器方法


expect 控制 ssh 自动 登录 连接 Linux 服务器 方法

使用expect控制ssh自动登录连接Linux服务器方法

WordPress重装教程

星期一, 五月 20th, 2013

原创教程,转载请注昨出处:http://www.myzhenai.com/thread-15588-1-1.html http://www.myzhenai.com.cn/post/1109.html
关键词:WordPress重装 wordpress数据库备份 wordpress数据库恢复 phpmyadmin备份数据库 phpmyadmin恢复数据库 linux备份mysql数据库 linux恢复mysql数据库 mysqldump备份数据库 mysqldump恢复数据库 wordpress数据备份 wordpress备份哪些文件 wordpress安装
重装wordpress之前需要先进行备份,备份的内容分为数据库备份和博客数据备份,我们博客发布的文字内容是保存在数据库里的,而图片等附件是保存在相应目录里的.
我们先来说一说备份数据库的方法,一般分为三种,也是视你对服务器有没有管理权限或有没有安装某些管理软件来定.
第一种:Wordpress导出xml文档
wordpress自带有一个导出功能,我们可以使用这个功能来备份,但为了保险起见,建议还是要额外再进行数据库备份.登录wordpress后台,在工具栏目中选择导出,然后选中“所有内容”,然后下载导出的文件.

wordpress 导出 工具

wordpress导出工具


第二种:使用ssh或PuTTy工具登录你的服务器或VPS服务器,执行数据库备份命令来进行备份.

#mysqldump -u root -p MysqlUsername |gzip > /home/admin/Username/MysqlUsername_2013.05.15.sql.gz
#ls /home/admin/Username/


linux 数据库 备份 命令

linux数据库备份命令


第三种:使用phpmyadmin等数据库管理程序进行备份,登录你的phpmyadmin管理页面,一般是 http://Domainname/phpmyadmin/index.php 如果这样登录不了,请咨询您的服务器提供商.登录phpmyadmin后选择要备份的数据库,然后在工具栏上点击“导出”,执行操作即可,自动会下载备份后的数据库文件,一般默认是会以sql为后缀的.为了恢复方便,建议在“导出方式”那里选择“自定义 – 显示所有可用的选项”,“数据表”那里”全选”,”输出”那里选择“压缩:”,压缩方式请选择“zip”.
phpmyadmin 数据库 备份

phpmyadmin数据库备份


接一来我们要备份博客数据,Wordpress文件数据我们一般只需要备份三个地方即可,一是主题目录,二是插件目录,三是附件目录.将这三个地方的数据备份即可以了.
wp-content\themes下存放的是主题目录
wp-content\plugins下存放的是插件目录
wp-content\uploads下存放的是附件目录

备份文件完毕后,我们可以重新安装wordpress了,安装分为在线下载文档(在服务器上下载文档,因为受上传网速限制,如果你不想本地上传文件进行安装的话可以使用这一方法,但前提是你需要有服务器管理权限.)和本地上传文档安装.因为本地上传比转麻烦,所以我都是在线下载安装.

#wget http://cn.wordpress.org/wordpress-3.5.1-zh_CN.zip
#unzip wordpress-3.5.1-zh_CN.zip
#\cp -a wordpress/* /home/admin/Username/

文件下载完毕后,现在执行 http://Domainname/wp-admin/install.php 来进行安装.或者参考官方给出的安装方法.
1:将 WordPress 压缩包解压至一个空文件夹,并上传它。
2:在浏览器中访问 wp-admin/install.php。它将帮助您把数据库链接信息写入到 wp-config.php 文件中。
3:如果上述方法无效,也没关系,这很正常。请用文本编辑器(如写字板)手动打开 wp-config-sample.php 文件,填入数据库信息。将文件另存为 wp-config.php 并上传。
4:在浏览器中访问 wp-admin/install.php。
5:在配置文件就绪之后,WordPress 会自动尝试建立数据库表。若发生错误,请检查 wp-config.php 文件中填写的信息是否准确,然后再试。若问题依然存在,请访问中文支持论坛寻求帮助。
6:若您不设置密码,请牢记生成的随机密码。若您不输入用户名,用户名将是 admin。
7:完成后,安装向导会带您到登录页面。用刚刚设置的用户名和密码登录。若您使用随机密码,在登录后可以按照页面提示修改密码。
安装完wordpress后我们需要上传备份下来的主题,插件和附件数据了,上传完成后,最后一步是恢复数据库.
1:登录博客,仪表盘界面\工具\导入\安装相应插件进行导入,导入完成后可以删除插件.
2:使用phpmyadmin进行导入,登录phpmyadmin,新建一个数据库,然后选择这个新建的数据库,点击工具栏上的导入标签,浏览,找到之前备份的数据库文件即可.
3:使用ssh或PuTTy工具登录你的服务器或VPS服务器,执行数据库恢复命令来进行恢复.

#gzip < MysqlUsername_2013.05.15.sql.gz | mysql -u root -p MysqlUsername
#reboot


phpmyadmin 数据库 导入 工具

phpmyadmin数据库导入工具

phpmyadmin 数据库 导入 工具

phpmyadmin数据库导入工具


重装到此完成安装,教程结束.
写在最后,如果你对服务器上的命令操作没有把握,最好是使用phpmyadmin这样的数据库管理软件来进行备份恢复管理.如果没有安装的话请发Ticket给你的服务器提供商请他们安装.一般各种服务器管理面板里都会自动安装这个管理程序的,你也可以登录你的管理面板看一看有没有这个phpmyadmin.

linux下使用ssh翻墙的方法

星期二, 五月 7th, 2013

可以根据需要强制任何想要的程序通过指定代理访问网络。
一、proxychains的功能特性:1.支持解析代理服务器dns解析,即指定的代理服务器不必一定为ip地址,可以是一个域名,如:s1.coolout.org
2.支持SOCKS4,SOCKS5和HTTP 代理服务器,ssh -D 默认打开的就是socks5
3.支持链模式,可以理解为多重代理,具体形式是: *你* < –> (服务器一)socks5 < –> (服务器二)http < –> (服务器三)socks4 < –> (服务器四)http < –> 目标主机
4.链模式:支持随机抓取,可以随机选择服务器列表中的服务器组成链,可动态的跳过无法到达的服务器
5.其它特点自己看HOWTO-。-

二、如何使用

只需简单的在需要使用代理的程序前加入proxychains即可,如使用chrome翻墙只需:
proxychains google-chrome %U

三、下载、安装与配置

1.ubuntu的话只需要 sudo apt-get install proxychains

2.其它linux需下载并编译

下载地址:http://prdownloads.sourceforge.net/proxychains/proxychains-3.1.tar.gz?download
解压后
————————————-
./configure
make
make install
————————————-
that’s all! ^^

3、配置
配置文件可能存在于以下三个地方:
1) ./proxychains.conf
2) $(HOME)/.proxychains/proxychains.conf
3) /etc/proxychains.conf

默认只需要在配置的最后一行把
socks4 127.0.0.1 9050
改为
socks5 127.0.0.1 7070
# 127.0.0.1 7070 为我用ssh -D 7070 x.x.x.x 建立的socks5通道

***********配置文件********************

# proxychains.conf VER 3.1
#
# HTTP, SOCKS4, SOCKS5 tunneling proxifier with DNS.
#
# 模式:
# 可选的有dynamic_chain、strict_chain、random_chain
# dynamic 和 strict 的区别就是 *dynamic* 会自动跳过链中down掉的服务器
# random 不会按照顺序通过链,即有可能是:
# 服务器一 < -> 服务器二 < ->服务器三
strict_chain
#
# 链长度chain_len仅在random模式下有用处,值为需要从服务器表中抓取的个数
# chain_len = 2
#
# 安静模式(无输出信息)
#quiet_mode
#
# 代理dns请求,默认为开启
proxy_dns
#
# 超时设置,单位为毫秒
tcp_read_time_out 15000
tcp_connect_time_out 8000
#
# 服务器列表格式:
# 类型 主机 端口 用户名 密码
# 例:
# socks5 192.168.67.78 1080 lamer secret
# http 192.168.89.3 8080 justu hidden
# socks4 192.168.1.49 1080
#
# 用ssh -D 7070 x.x.x.x 开启socks5代理就只要如下设置即可
[ProxyList]
socks5 127.0.0.1 7070
***********配置文件********************
#ssh -CNfg -D port user_name@SERVER_IP
#ssh -qTfnN -D port user_name@SERVER_IP

如何保证Linux系统安全

星期三, 十二月 28th, 2011

Linux作为开放式的操作系统受到很多程序员的喜爱,很多高级程序员都喜欢编写Linux操作系统的相关软件。这使得Linux操作系统有着丰富的软件支持,还有无数的技术人员作为技术后盾和技术支持,这使得Linux越来越受到程序员的欢迎。
但这种开放式的操作系统有一个最大的弊端就是每个程序员的水平不等,编写相关软件后并未注意自己程序中的漏洞。没有统一的漏洞检查,这使得Linux的软件中会出现很多的漏洞,而软件开发者却很难察觉自己编写程序的漏洞,但黑客们会非常注意这些漏洞,并且会利用这些漏洞来达到自己的目的。那么是不是Linux系统就不安全了呢?其实大可不必担心,只要做好下述几点便可安心的使用Linux系统,

一、取消不必要的服务
早期的Unix版本中,每一个不同的网络服务都有一个服务程序在后台运行,后来的版本用统一的/etc/inetd服务器程序担此重任。Inetd是Internetdaemon的缩写,它同时监视多个网络端口,一旦接收到外界传来的连接信息,就执行相应的TCP或UDP网络服务。
由于受inetd的统一指挥,因此Linux中的大部分TCP或UDP服务都是在/etc/inetd.conf文件中设定。所以取消不必要服务的第一步就是检查/etc/inetd.conf文件,在不要的服务前加上“#”号。
一般来说,除了http、smtp、telnet和ftp之外,其他服务都应该取消,诸如简单文件传输协议tftp、网络邮件存储及接收所用的imap/ipop传输协议、寻找和搜索资料用的gopher以及用于时间同步的daytime和time等。
还有一些报告系统状态的服务,如finger、efinger、systat和netstat等,虽然对系统查错和寻找用户非常有用,但也给黑客提供了方便之门。例如,黑客可以利用finger服务查找用户的电话、使用目录以及其他重要信息。因此,很多Linux系统将这些服务全部取消或部分取消,以增强系统的安全性。
Inetd除了利用/etc/inetd.conf设置系统服务项之外,还利用/etc/services文件查找各项服务所使用的端口。因此,用户必须仔细检查该文件中各端口的设定,以免有安全上的漏洞。
在Linux中有两种不同的服务型态:一种是仅在有需要时才执行的服务,如finger服务;另一种是一直在执行的永不停顿的服务。这类服务在系统启动时就开始执行,因此不能靠修改inetd来停止其服务,而只能从修改/etc/rc.d/rc[n].d/文件或用Runleveleditor去修改它。提供文件服务的NFS服务器和提供NNTP新闻服务的news都属于这类服务,如果没有必要,最好取消这些服务。
二、限制系统的出入
在进入Linux系统之前,所有用户都需要登录,也就是说,用户需要输入用户账号和密码,只有它们通过系统验证之后,用户才能进入系统。
与其他Unix操作系统一样,Linux一般将密码加密之后,存放在/etc/passwd文件中。Linux系统上的所有用户都可以读到/etc/passwd文件,虽然文件中保存的密码已经经过加密,但仍然不太安全。因为一般的用户可以利用现成的密码破译工具,以穷举法猜测出密码。比较安全的方法是设定影子文件/etc/shadow,只允许有特殊权限的用户阅读该文件。
在Linux系统中,如果要采用影子文件,必须将所有的公用程序重新编译,才能支持影子文件。这种方法比较麻烦,比较简便的方法是采用插入式验证模块(PAM)。很多Linux系统都带有Linux的工具程序PAM,它是一种身份验证机制,可以用来动态地改变身份验证的方法和要求,而不要求重新编译其他公用程序。这是因为PAM采用封闭包的方式,将所有与身份验证有关的逻辑全部隐藏在模块内,因此它是采用影子档案的最佳帮手。
此外,PAM还有很多安全功能:它可以将传统的DES加密方法改写为其他功能更强的加密方法,以确保用户密码不会轻易地遭人破译;它可以设定每个用户使用电脑资源的上限;它甚至可以设定用户的上机时间和地点。
Linux系统管理人员只需花费几小时去安装和设定PAM,就能大大提高Linux系统的安全性,把很多攻击阻挡在系统之外。
三、保持最新的系统核心
由于Linux流通渠道很多,而且经常有更新的程序和系统补丁出现,因此,为了加强系统安全,一定要经常更新系统内核。Kernel是Linux操作系统的核心,它常驻内存,用于加载操作系统的其他部分,并实现操作系统的基本功能。由于Kernel控制计算机和网络的各种功能,因此,它的安全性对整个系统安全至关重要。
早期的Kernel版本存在许多众所周知的安全漏洞,而且也不太稳定,只有2.0.x以上的版本才比较稳定和安全,新版本的运行效率也有很大改观。在设定Kernel的功能时,只选择必要的功能,千万不要所有功能照单全收,否则会使Kernel变得很大,既占用系统资源,也给黑客留下可乘之机。
在Internet上常常有最新的安全修补程序,Linux系统管理员应该消息灵通,经常光顾安全新闻组,查阅新的修补程序。
四、增强安全防护工具
SSH是安全套接层的简称,它是可以安全地用来取代rlogin、rsh和rcp等公用程序的一套程序组。SSH采用公开密钥技术对网络上两台主机之间的通信信息加密,并且用其密钥充当身份验证的工具。由于SSH将网络上的信息加密,因此它可以用来安全地登录到远程主机上,并且在两台主机之间安全地传送信息。实际上,SSH不仅可以保障Linux主机之间的安全通信,Windows用户也可以通过SSH安全地连接到Linux服务器上。
五、限制超级用户的权力
我们在前面提到,root是Linux保护的重点,由于它权力无限,因此最好不要轻易将超级用户授权出去。但是,有些程序的安装和维护工作必须要求有超级用户的权限,在这种情况下,可以利用其他工具让这类用户有部分超级用户的权限。Sudo就是这样的工具。Sudo程序允许一般用户经过组态设定后,以用户自己的密码再登录一次,取得超级用户的权限,但只能执行有限的几个指令。
六、设定用户账号的安全等级
除密码之外,用户账号也有安全等级,这是因为在Linux上每个账号可以被赋予不同的权限,因此在建立一个新用户ID时,系统管理员应该根据需要赋予该账号不同的权限,并且归并到不同的用户组中。在Linux系统上的tcpd中,可以设定允许上机和不允许上机人员的名单。其中,允许上机人员名单在/etc/hosts.allow中设置,不允许上机人员名单在/etc/hosts.deny中设置。设置完成之后,需要重新启动inetd程序才会生效。此外,Linux将自动把允许进入或不允许进入的结果记录到/rar/log/secure文件中,系统管理员可以据此查出可疑的进入记录。每个账号ID应该有专人负责。在企业中,如果负责某个ID的职员离职,管理员应立即从系统中删除该账号。很多入侵事件都是借用了那些很久不用的账号。在用户账号之中,黑客最喜欢具有root权限的账号,这种超级用户有权修改或删除各种系统设置,可以在系统中畅行无阻。因此,在给任何账号赋予root权限之前,都必须仔细考虑。
Linux系统中的/etc/securetty文件包含了一组能够以root账号登录的终端机名称。例如,在RedHatLinux系统中,该文件的初始值仅允许本地虚拟控制台(rtys)以root权限登录,而不允许远程用户以root权限登录。最好不要修改该文件,如果一定要从远程登录为root权限,最好是先以普通账号登录,然后利用su命令升级为超级用户。

VPS快速搬家教程

星期二, 十二月 13th, 2011

从一个VPS空间搬到另一个VPS空间的快速方法,VPS快速搬家法。

1:先把网站的目录打包:
[root@www ~]# cd /home/wwwroot //进入相应的目录,进入那个目录就cd那个,比如进123,那就是cd /home/123
[root@www www]# tar zcvf web_root.tar.gz web_root //使用tar打包且压缩web_root文件夹,压缩后的文件名为:web_root.tar.gz ,如果是123,就是tar zcvf 123.tar.gz 123

2:打包后,可以下载到本地电脑上,也可以直接传到其它VPS上,传到VPS上的命令如下: [root@www www]# scp -P 22 web_root.tar.gz root@your_vps_ip:/data //这个命令 -P 22 是指定vps SSH的端口,root@your_vps_ip,是帐号和你VPS的ip,回车后,会提示输入密码。输入确定后,文件就会传到你新的VPS的/data 目录上,新的VPS上要先建data这个文件夹。

3:新VPS上用命令解压文件
[root@www www]# tar -zxvf web_root.tar.gz

网站搬家完毕。然后是数据库:

方法一:使用PHPmyadmin备份数据库
直接界面操作,导出并下载到本地,然后再上传到新VPS,再用PHPmyadmin导入。

方法二:使用mysqldump定时自动备份数据库
mysqldump -u用户名 -p密码 数据库名 > xxx.sql //导出数据库为sql文件
同样用用传网站文件的方法(上面的1234),把SQL文件传到新VPS,如文件太大,可以用tar命令压缩之后再传输。
mysql -u你新建的用户名 -p用户名密码 你刚才新建的数据库名 < xxx.sql //导入到新的VPS数据库

tar czf – 源目录 | ssh root@目标IP tar xzf – -C /目标VPS路径
总而言之,一边打包,一边传,一边解压.
比如我要转移旧VPS/var/www下的web目录到新VPS(123.123.123.123)的/var/luguan目录下 ,
就在旧VPS上cd /var/www
然后运行

tar czf – web | ssh root@123.123.123.123 tar xzf – -C /var/luguan

回车之后输入新VPS的密码
等就可以了,如果有流量监控软件,可以在新vps上看到呼啦呼啦的跑~
MySQL也一样,比如进入/var/lib,可以转移整个mysql目录,也可以转移mysql目录下某个数据库,一样的操作.当然最好两方版本相同