準備:php
局域網主機(虛擬主機): 192.168.6.233 CentOS 6.7html
阿里雲服務器:120.25.68.60 CentOS 6.7bash
[root@120.25.68.60 ~]# vi /etc/ssh/sshd_config GatewayPorts yes [root@120.25.68.60 ~]# service sshd reload Reloading sshd: [ OK ]
root@192.168.6.233:~ # ssh -CqTfnN -R 0.0.0.0:7233:192.168.6.233:22 root@120.25.68.60 root@120.25.68.60's password:
[root@120.25.68.60 ~]# netstat -anp | grep 7233 tcp 0 0 0.0.0.0:7233 0.0.0.0:* LISTEN 2392/sshd tcp 0 0 :::7233 :::* LISTEN 2392/sshd
[root@192.168.4.194 ~]# ssh -p 7233 root@120.25.68.60 root@120.25.68.60's password: Last login: Thu Mar 24 11:01:15 2016 from 192.168.6.233
[root@phpdragon_233 ~]# ifconfig eth0 Link encap:Ethernet HWaddr 00:50:56:34:8B:4D inet addr:192.168.6.233 Bcast:192.168.6.255 Mask:255.255.255.0 inet6 addr: fe80::250:56ff:fe34:8b4d/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:1321125 errors:0 dropped:0 overruns:0 frame:0 TX packets:1232406 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:450626290 (429.7 MiB) TX bytes:273698355 (261.0 MiB) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:524375 errors:0 dropped:0 overruns:0 frame:0 TX packets:524375 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:43705227 (41.6 MiB) TX bytes:43705227 (41.6 MiB)
到這裏反向代理的測試完成,功能OK.服務器
ssh-keygen -t rsa -P '' scp ~/.ssh/id_rsa.pub root@120.25.68.60:/tmp/id_rsa.pub_233 ssh -l root 120.25.68.60 cat /tmp/id_rsa.pub_233 >> ~/.ssh/authorized_keys
#!/bin/sh if [ -n "$1" ] && [ "$1" -gt "0" ];then PID=$(netstat -anp | grep $1 | awk '/sshd/ && !/awk/{print $7}') PID=${PID%%/*} if [ -n "${PID}" ];then kill -9 $PID && exit 0 fi fi exit 1
######################################################################### # File Name: ssh_agent_deamon.sh # Author: phpdragon # mail: phpdragon@qq.com # Created Time: Thu 24 Mar 2016 01:55:49 PM CST ######################################################################### #!/bin/bash
ROMOTE_USERNAME=root ROMOTE_SERVER_IP="120.25.68.60" ROMOTE_PORT=7233 ###[ /sbin/ifconfig|sed -n '/inet addr/s/^[^:]*:\([0-9.]\{7,15\}\) .*/\1/p'|grep -v 127.0.0.1 ] LOCALHOST_IP=`/sbin/ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:"` LOCALHOST_PORT=22 while true ; do PID=$(ssh -l root ${ROMOTE_SERVER_IP} netstat -anp | grep ${ROMOTE_PORT} | awk '/sshd/ && !/awk/{print $7}') PID=${PID%%/*} if [ -n "$PID" ] && [ "$PID" -gt "0" ];then sleep 30s else /usr/bin/ssh -l root ${ROMOTE_SERVER_IP} /bin/sh /data/kill_ssh_agent.sh ${ROMOTE_PORT} /usr/bin/ssh -CqTfnN -R 0.0.0.0:${ROMOTE_PORT}:${LOCALHOST_IP}:${LOCALHOST_PORT} ${ROMOTE_USERNAME}@${ROMOTE_SERVER_IP} fi done exit 0
vi /etc/ssh/sshd_config #每1分鐘發送一個心跳信號給客戶端 ClientAliveInterval 60 #最大超時次數,客戶端不響應則關閉鏈接 ClientAliveCountMax 3
vi /etc/rc.local /bin/sh /data/ssh_agent_deamon.sh &
到此設置完畢。ssh
PS:tcp
http://blog.163.com/digoal@126/blog/static/163877040201451464251856oop
http://www.cnblogs.com/wangkangluo1/archive/2011/06/29/2093727.html測試
http://www.cnblogs.com/peida/archive/2013/03/08/2949194.html阿里雲
http://www.cnblogs.com/ggjucheng/archive/2012/01/08/2316661.htmlspa