如何利用SSH后门快速远程运维,提升客户满意度?

    做产品的同学们,特别是toB业务的,需要对产品和售后负责,有很多产品,需要做运维,如果产品是分散的,那维护起来就非常麻烦,如果产品分散且移动的,那售后成本就非常大。那么,针对这些问题,下面跟你分享一下很实用的技术,"你是我的眼",为什么这么说呢,假如,你的产品在汽车上使用,那正好影响了客户业务,非常紧急,需要处理,这个时候,通过这个技术,可以让你犹如身临其境一样,你跟车辆或设备,当前无论远在天涯海角,近在眼前。

    本篇文章价值无限,因为,客户的紧急问题,可能你的领导关注了,或者惊动了你的老板,这个时候,你就像热锅上的蚂蚁,8之脚无处安放中。轻则挨一顿批,出差去解决。重则,挨多顿批,谁知道有什么更坏的处境呢。  所以,你如果有这个预案,那么,客户现场的问题,你在办公室动动手指就能解决,而且,神不知鬼不觉。领导对你一顿猛夸,甚至升职加薪!

   好了,下面就用通俗的语言和实例,来介绍下今天的主角,SSH反向代理。概括来讲,就是通过ssh来登陆远方任意设备,通过代理服务器作为中继来登陆。

首先,下载ssh源码,通过交叉编译,部署到你的嵌入式设备上。做一个可执行的脚本ssh_proxy.sh

#!/bin/sh
# ssh_reverse_proxy_exp proxy_port remote_ip remote_ssh_port remote_username remote_passwd
ssh_reverse_proxy_exp() {
#####################
expect <<EOF
set timeout -1
spawn ssh -p $3 -CNR $1:localhost:22 $4@$2 
expect {
    "*yes/no" { send "yes\n"; exp_continue }
    "*password:" { send "$5\n" }
    timeout { exit 127 }
}
expect eof
EOF
######################
}

if [ $# -ne 5 ];then
    echo "usage: $0 [proxy_port] [remote_ip] [remote_ssh_port] [remote_username] [remote_passwd]"
    exit 127
fi

ssh_reverse_proxy_pid=$(pidof ssh)
if [ $? -eq 0 ];then
    kill -9 $ssh_reverse_proxy_pid
fi

proxy_port=$1
remote_ip=$2
remote_ssh_port=$3
remote_username=$4
remote_passwd=$5

success=0
try_count=0
while true;do
    try_count=$(($try_count+1))
    if [ $try_count -gt 5 ];then
        break
    fi
    ssh_reverse_proxy_exp $proxy_port $remote_ip $remote_ssh_port $remote_username $remote_passwd
    sleep 1
    ssh_reverse_proxy_pid=$(pidof ssh)
    if [ $? -eq 0 ];then
        echo "pidof ssh = $ssh_reverse_proxy_pid"
        success=1
        break
    fi
    sleep 1
done

if [ $success -eq 1 ];then
    echo "ssh reverse proxy success!"
    exit 0
else
    echo "ssh reverse proxy failed!"
    exit 127
fi

   只要你的设备有后台,可以通过后台,做一个命令入口,下发代理命令:ssh_proxy.sh 中间代理服务器端口port 代理服务器ip 代理服务器登陆端口 代理服务器登陆用户名 代理服务器登陆密码

其中"中间代理服务器端口port",你在本地登陆上代理服务器,通过查看端口号:netstat -anp |grep 22

或者 netstat -anp |grep 端口号

可以查询到 "中间代理服务器端口port" 是不是已经被使用,如果存在,说明你的设备已经连上中间服务器,此时,你可以进行远程登陆了。

命令行:ssh root@localhost -p port

其中port就是 "中间代理服务器端口port",这个port就是你用脚本连接时填入的端口号,你可以找没用的端口进行连接,自己填的。

    接下来会弹出登陆用户名和密码,此时的就是你的设备的登陆信息,所以,你的设备需要设置登陆用户名和密码,不允许不设置。有了登陆信息,你就可以登陆设备了。

    只要你的设备能够联网,你就可以通过ssh代理进行远程服务器的登陆。

   此时,设备就在你眼前,没错,你可以为所欲为了!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

硅谷魔术师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值