2010/02/17

ssh代理的架设


step1:设置sshd
编辑/etc/ssh/sshd_conf配置文件,增加下面的命令:
AllowTcpForwarding yes
重启sshd

step2:设置apache
编辑 /etc/httpd/httpd.conf配置文件,进行以下修改:
Listen 127.0.0.1:8080
LoadModule proxy_module /usr/lib/apache/modules/libproxy.so
#取消注释即可,库文件名称可能会随版本变化而变化。


ProxyRequests On
AllowCONNECT 443 5050 5190
#这里端口号为互联网服务所需要的端口,增加任何服务需要增加端口
#本例为SSL连接、AIM、yahoo IM。

Order deny,allow
deny from all
allow form 127.0.0.1

#只允许本地连接
ProxyVia On



重启apache

step3:配置客户端ssh
客户端需要在自己的.ssh目录新建一个文件,该文件包含你想要连接的主机的别名(alias),注意不要使用root作为用户名。
效果应该看起来如下所示:
~/.ssh/config

Host alias_for_somehost

HostName somehost.com (or an IP address)
User username
Compression yes
LocalForward 22 somehostontheothersideofthebastion:22
LocalForward 25 somemailserver:25
LocalForward 143 someimapserver:143
LocalForward 8080 127.0.0.1:8080

现在你只需要连接:
$ssh alias_for_somehost
password:
somehost$
注意:在使用代理时必须保证此会话为打开状态。

现在,你在本地~/.ssh/config中定义的端口都会走远程主机的端口。
现在,你可以使用8080端口浏览互联网信息,同样可以使用IM,只要确保端口被加入到了httpd.conf中的AllowCONNECT行。

没有评论:

发表评论