分页: 1 / 1

【原创分享】在家中连接公司内网脚本

发表于 : 2009-02-12 16:44
kelvinhan

代码: 全选

#!/bin/sh

REMOTE_HOST="远程主机地址"
REMOTE_ACCOUNT="远程主机账号"
REMOTE_PORT="远程主机端口"

REMOTE_PORT_CFG="http://www.xxxxxx.cn/remote.txt"

PORT=`curl $REMOTE_PORT_CFG 2>/dev/null`
PID=`ps ax|grep ssh|grep $REMOTE_HOST|grep $PORT:localhost | awk '{print $1}'`

if [ "$PORT" = "" ]
then
        if [ "$PID" = "" ]
        then
                echo "No process!"
        else
                echo "kill -9 $PID"
                kill -9 $PID
        fi
else
        if [ "$PID" = "" ]
        then
                echo "ssh -f -N -R $PORT:localhost:22 -p $REMOTE_PORT $REMOTE_ACCOUNT@$REMOTE_HOST"
                ssh -f -N -R $PORT:localhost:22 -p $REMOTE_PORT $REMOTE_ACCOUNT@$REMOTE_HOST
        else
                echo "Alreay exist!"
        fi
fi

把该脚本放置在公司内网机器中,并且设置成 cron 每隔一段时间执行。
REMOTE_PORT_CFG 为放置ssh反向连接后,在远程主机中的端口号。
把本机的ssh public 证书放到远程主机上的信任证书列表中,使得 ssh 连接时不用输入密码。

使用举例:
家中电脑已经用了动态域名: test.51vip.biz
家中电脑的SSH端口为:22
家中电脑的SSH账号为:root
公司内网主机获取端口的文件URL: http://test.51vip.biz/remote.txt

代码: 全选

#!/bin/sh

REMOTE_HOST="test.51vip.biz"
REMOTE_ACCOUNT="root"
REMOTE_PORT="22"

REMOTE_PORT_CFG="http://test.51vip.biz/remote.txt"

PORT=`curl $REMOTE_PORT_CFG 2>/dev/null`
PID=`ps ax|grep ssh|grep $REMOTE_HOST|grep $PORT:localhost | awk '{print $1}'`

if [ "$PORT" = "" ]
then
        if [ "$PID" = "" ]
        then
                echo "No process!"
        else
                echo "kill -9 $PID"
                kill -9 $PID
        fi
else
        if [ "$PID" = "" ]
        then
                echo "ssh -f -N -R $PORT:localhost:22 -p $REMOTE_PORT $REMOTE_ACCOUNT@$REMOTE_HOST"
                ssh -f -N -R $PORT:localhost:22 -p $REMOTE_PORT $REMOTE_ACCOUNT@$REMOTE_HOST
        else
                echo "Alreay exist!"
        fi
fi
当我们把 http://test.51vip.biz/remote.txt 内容设置成 10000 时,
该脚本会自动连接到 test.51vip.biz:22,并且在 test.51vip.biz上 打开 127.0.0.1:10000 端口。

此时,我们只需要在家中机器上执行 ssh -p 10000 xxxx@127.0.0.1 就可以跳到公司内网机器。

以上脚本还可以进一步修改,各种配置信息都可以由 网上的配置文件指定。

想让公司内机器断开连接,只需要把 http://test.51vip.biz/remote.txt 内容清空即可。

Re: 【原创分享】在家中连接公司内网脚本

发表于 : 2009-02-12 17:04
lerosua
分享收藏~ :em04

Re: 【原创分享】在家中连接公司内网脚本

发表于 : 2009-02-14 0:43
cqcyj222
开个远程不就完了麻,怎么这么麻烦?

Re: 【原创分享】在家中连接公司内网脚本

发表于 : 2009-02-17 10:33
kelvinhan
cqcyj222 写了:开个远程不就完了麻,怎么这么麻烦?
没看到是公司内网吗

Re: 【原创分享】在家中连接公司内网脚本

发表于 : 2011-01-06 15:29
zcj0429
收藏 :em11

Re: 【原创分享】在家中连接公司内网脚本

发表于 : 2011-01-06 21:59
lgxwqq
:em11

Re: 【原创分享】在家中连接公司内网脚本

发表于 : 2011-01-06 22:14
billbear
收了 :em09
两边都是内网怎么办