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免密码登陆及其原理

阅读剩余
THE END