centos ssh 代理?centos一键搭建socks5
大家好,今天小编来为大家解答以下的问题,关于centos ssh 代理,centos一键搭建socks5这个很多人还不知道,现在让我们一起来看看吧!
CentOS 6.2系统安装和基本软件环境配置
一、安装CentOS6.2系统
1、选择Desktop进行安装
注:如果修改了主机名,则需要在/etc/hosts文件中增加设置的主机名
2、ssh安全设置(配置文件:/etc/ssh/sshd_config):
1)更改默认22端口:去掉 Port的注释,改成如:22123
2)禁止root账号登录:去掉PermitRootLogin yes注释,改成:PermitRootLogin no
3)新增SSH登录用户,登录成功后再su到root:
复制代码
代码如下:
# useradd xiaoma
# passwd xiaoma
然后修改ssh配置文件,最后加入:AllowUsers xiaoma
4)重启SSH服务:service sshd restart
5)更改防火墙配置,允许22123端口,加入:-A INPUT-m state–state NEW-m tcp-p tcp–dport 22123-j ACCEPT,并重启防火墙生效:service iptables restart
二、软件环境配置
1、安装编译环境:
复制代码
代码如下:
# yum install gcc gcc-c++
注:代理上网,命令行:export http_proxy=
2、安装一些必备的库
复制代码
代码如下:
# yum install ncurses-devel zlib-devel libjpeg* libpng* freetype*
注:ncurses-devel–编译安装mysql5.5时需要
zlib-devel–编译安装httpd需要
libjpeg*、libpng*、freetype*–编译安装php需要
3、安装clamAV杀毒软件
复制代码
代码如下:
# tar xzf clamav-0.97.4.tar.gz
# cd clamav-0.97.4
#./configure--prefix=/usr/local/clamav--disable-clamav
# make
# make install
# groupadd clamav
# useradd-g clamav clamav
# chown-R clamav.clamav/usr/local/clamav
操作示例:
1)更新病毒库:bin/freshclam(需要修改etc/freshclam.conf文件把Example行注释掉)
2)扫描指定的目录:bin/clamscan–bell-i-r/usr/local
4、安装JDK
复制代码
代码如下:
# chmod+x jdk-6u33-linux-i586.bin
#./jdk-6u33-linux-i586.bin
# mv jdk1.6.0_33//usr/local
设置JDK环境变量,/etc/profile文件中最后加入如下配置:
复制代码
代码如下:
JAVA_HOME=/usr/local/jdk1.6.0_33
export JAVA_HOME
export PATH=/usr/local/mysql5/bin:$JAVA_HOME/bin:$PATH
然后更新环境变量使之生效:
复制代码
代码如下:
# source/etc/profile
查看安装的java版本:
复制代码
代码如下:
# java-version
5、安装Mysql5.5(mysql5.5需要cmake编译,需要先安装cmake)
复制代码
代码如下:
# tar xzf cmake-2.8.7.tar.gz
# cd cmake-2.8.7
#./configure
# make make install
# mkdir-p/usr/local/mysql5
# groupadd mysql
# useradd-g mysql mysql
# chown mysql.mysql-R/usr/local/mysql5
# tar xzf mysql-5.5.19.tar.gz
# cd mysql-5.5.19/
# cmake-DCMAKE_INSTALL_PREFIX=/usr/local/mysql5-DMYSQL_UNIX_ADDR=/usr/local/mysql5/mysql.sock-DDEFAULT_CHARSET=utf8-DDEFAULT_COLLATION=utf8_general_ci-DWITH_EXTRA_CHARSETS=all-DWITH_MYISAM_STORAGE_ENGINE=1-DWITH_INNOBASE_STORAGE_ENGINE=1-DWITH_MEMORY_STORAGE_ENGINE=1-DWITH_READLINE=1-DENABLED_LOCAL_INFILE=1-DMYSQL_DATADIR=/usr/local/mysql5/data-DMYSQL_USER=mysql-DMYSQL_TCP_PORT=3306
# make
# make install
配置Mysql,进行如下操作:
复制代码
代码如下:
# cp support-files/my-medium.cnf/etc/my.cnf
# chmod 755 scripts/mysql_install_db
# scripts/mysql_install_db--user=mysql--basedir=/usr/local/mysql5--datadir=/usr/local/mysql5/data
# cp support-files/mysql.server/etc/init.d/mysql
# chmod 755/etc/init.d/mysql
# chkconfig mysql on
启动mysql并设置root账号密码:
复制代码
代码如下:
#/etc/init.d/mysql start或 service mysql start
#/usr/local/mysql5/bin/mysqladmin-uroot password'root'
加入环境变量,在/etc/profile文件中最后加入:
复制代码
代码如下:
export PATH=/usr/local/mysql5/bin:$PATH
修改默认的mysql最大连接数(默认只有151),打开/etc/my.cnf文件,在[mysqld]的下面加入:max_connections=1000,然后重启mysql即可生效,查看最大连接数:
复制代码
代码如下:
mysqlshow VARIABLES LIKE'%conn%';
6、安装httpd
复制代码
代码如下:
# tar xzf httpd-2.2.21.tar.gz
# cd httpd-2.2.21/
# cd srclib/apr
#./configure--prefix=/usr/local/apr
# make
# make install
# cd../apr-util
#./configure--prefix=/usr/local/apr-util--with-apr=/usr/local/apr
# make
# make install
# cd../..
#./configure--prefix=/usr/local/apache2--enable-so--enable-mods-shared=all--with-apr=/usr/local/apr--with-apr-util=/usr/local/apr-util--enable-dav--enable-proxy--enable-proxy-ajp
# make
# make install
启动httpd并访问进行测试(注意iptables需要打开80端口):
复制代码
代码如下:
#/usr/local/apache2/bin/apachectl start
如果需要禁止对某个目录的访问,可以在该目录下新建.htaccess文件,并输入如下内容:
复制代码
代码如下:
order allow,deny
deny from all
7、安装php
复制代码
代码如下:
# tar xzf libxml2-2.7.5.tar.gz
# cd libxml2-2.7.5
#./configure--prefix=/usr/local/libxml2
# make
# make install
# cd..
# rpm-qa php
# rpm-e--nodeps--allmatches php-5.1.6-27.el5
# tar xzf php-5.3.1.tar.gz
# cd php-5.3.1
#./configure--prefix=/usr/local/php5--with-libxml-dir=/usr/local/libxml2/--with-mysql=/usr/local/mysql5/--with-apxs2=/usr/local/apache2/bin/apxs--with-mbstring--enable-mbstring=all--with-gd
# make
# make install
# cp php.ini-production/usr/local/php5/lib/php.ini
修改httpd.conf文件:
1)在AddType application/x-gzip.gz.tgz之后加一行:AddType application/x-httpd-php .php
2)在DirectoryIndex index.html后加入index.php
重启httpd后即可使php生效!
8、安装Tomcat7
复制代码
代码如下:
# unzip-q apache-tomcat-7.0.23.zip
# mv apache-tomcat-7.0.23 tomcat-7
配置tomcat的虚拟主机,打开conf/server.xml配置文件,加入如下段(多个则加入多个如下段即可):
复制代码
代码如下:
Host name="www." appBase="webapps"
unpackWARs="true" autoDeploy="true"
Aliaschinapis.com/Alias
Context path="" docBase="/webapps/www."/
/Host
配置完tomcat后,还需要配置apache的虚拟主机文件(conf/extra/httpd-vhosts.conf):
复制代码
代码如下:
VirtualHost*:80
DocumentRoot"/kington/webapps/chinapis"
ServerName www.
ServerAlias
ErrorLog"|/usr/local/apache2/bin/rotatelogs/usr/local/apache2/logs/_%Y-%m-%d_error_log 86400 480"
CustomLog"|/usr/local/apache2/bin/rotatelogs/usr/local/apache2/logs/_%Y-%m-%d_access_log 86400 480" common
ProxyPass/images/!
ProxyPass/styles/!
ProxyPreserveHost On
ProxyPass/ ajp://localhost:8009/
ProxyPassReverse/ ajp://localhost:8009/
/VirtualHost
上述配置中的说明如下:
1)ErrorLog和CustomLog配置了日志文件的轮询时间(86400表示秒是一天,480是时区的偏移)
三、常见问题
1、编译安装php时遇到:configure: error: libpng.(a|so) not found,首先安装各个依赖组件(libjpeg、libpng、freetype),然后做如下处理:
复制代码
代码如下:
# ln-s/usr/lib64/libjpeg.so/usr/lib/
# ln-s/usr/lib64/libpng.so/usr/lib/
2、解压bin格式的jdk时候报错:/lib/ld-linux.so.2: bad ELF interpreter,需要安装一些缺少的文件:
复制代码
代码如下:
# yum install ld-linux.so.2
windows 中如何用SSH 连接 linux
这里的”远程”操控的方法实际上也不是真正的远程.,此操作方法主要是在一个局域网内远程操控电脑(在一个路由器下)。
操作步骤:
1、百度搜索“SSH Secure Shell Client”下载并安装。
2、打开我们安装好的SSH Secure Shell Client。
3、点击Profiles选择add profiles 并添加profils名称(自定义一个名字)
4、然后点击刚定义好的profiles,出现如下界面,填写远程linux的ip,用户名,密码,port 默认为22;Authentication 选择password,点击connect。
5、出现如下界面,表示连接成功。
6、选择文件夹按钮可以用“资源管理器”的形式查看,传输文件。
7、出现如下界面,左面是指你的桌面,右面是你的远程linux桌面,接下来你就可以尽情操纵你的linux了。
ssh免密码登陆及其原理
[TOC]
ssh无密码登录要使用公钥与私钥。linux下可以用用ssh-keygen生成公钥/私钥对,下面以CentOS为例。有机器A(192.168.64.21),B(192.168.64.22)。
目标:A通过ssh免密码登录到B
特意强调,使用参数可以省去生成公钥/私钥的回车步骤
备注:
第一次登录需输入yes,现在A机可以无密码登录B机了,B登陆A,也同样,在B中生成公钥和私钥对,将公钥写入authorized_keys中,然后同步A、B中的authorized_keys,使其一致就ok了。
也即就是:登录的机子有私钥,被登录的机子要有登录机子的公钥,这个公钥/私钥对一般在私钥宿主机产生。上面是用rsa算法(不对称加密算法)的公钥/私钥对,当然也可以用dsa(对称加密算法:对应的文件是id_dsa,id_dsa.pub)
SSH是为建立在应用层和传输层基础上的安全协议( OSI七层与TCP/IP五层网络架构详解)。SSH是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用SSH协议可以有效防止远程管理过程中的信息泄露问题。
从客户端来看,SSH提供两种级别的安全验证:
只要知道帐号和口令,就可以登录到远程主机。所有传输的数据都会被加密,但缺点是:不能保证你正在连接的服务器就是你想连接的服务器。以下是登录验证流程:
当第一次链接远程主机时,会提示你当前主机的”公钥指纹”,询问你是否继续,如果选择继续后就可以输入密码进行登录了,当远程的主机接受以后,该台服务器的公钥就会保存到~/.ssh/known_hosts文件中。
这种验证的前提是客户端需要生成一对密钥,将公钥放到需访问的远程服务器。这种验证比上一种的好处是,不能仿冒真正的服务器,因为要仿冒必须拿到客户端生成的公钥。缺点就是验证等待过程稍长些。
1、在客户端打开终端,执行 ssh-keygen,该命令会默认在~/.ssh/目录下创建 id_rsa、 id_rsa.pub两个文件,分别为你的公钥和私钥
2、将公钥 id_rsa.pub文件拷贝到服务器端的~/.ssh/authorized_keys文件中,可通过scp拷贝
A要免密码登录到B,B首先要拥有A的公钥,然后B要做一次加密验证。非对称加密,公钥加密的密文不能公钥解开,只能私钥解开
ssh-agent
ssh-agent是密钥管理器,是一种控制用来保存公钥身份验证所使用的私钥的程序
运行ssh-agent以后,使用ssh-add将私钥交给ssh-agent保管,其他程序需要身份验证的时候可以将验证申请交给ssh-agent来完成整个认证过程
ssh-agent是管理多个ssh key的代理,受管理的私钥通过ssh-add来添加
好处1:不用重复输入密码
用 ssh-add添加私钥时,如果私钥有密码的话,照例会被要求输入一次密码,在这之后ssh-agent可直接使用该私钥,无需再次密码认证。
好处2:不用到处部署私钥
假设私钥分别可以登录同一内网的主机 A和主机 B,出于一些原因,不能直接登录 B。可以通过在 A上部署私钥或者设置 Forwarding(转发)登录 B,也可以转发认证代理连接在 A上面使用ssh-agent私钥登录 B;可以在A上直接sftp传文件到B上。
如这边有一台机器是local,能通过公钥直接登陆server1和server2。server1和server2之间无公钥登陆。
现在要在server1上直接登陆server2,在local上执行
执行了之后就将私钥给ssh-agent保管了,server1上面登陆server2的时候,需要私钥验证的时候直接找ssh-agent要就可以了
接下来登陆server1,注意-A
可以发现server1上多了/tmp/ssh-xxxxxxxxx/agent.xxxxx的socket,之后神奇的事发生了,在 server1上可直接进server2,只需执行如下命令,如果加了-A则可以继续ssh forwarding(转发),以至无限的机器forwarding。
ssh(-A) server2
同样的原理可以试一下sftp, scp等基于ssh的命令。
如运行ssh-add,遇到 Could not open a connection to your authentication agent.。
解决:需要ssh-agent启动bash,或者说把bash挂到ssh-agent下面。
1 ssh免密码登陆及其原理