原理图:
自动脚本实现ssh建立连接,并在断线后自动重连:
#!/bin/sh
while true
do
{
date
if [ "`netstat -ant|grep 7777|grep ESTABLISHED`" = "" ]; then
ps -eo pid,cmd|grep "ssh -p 7777"|sed 's/^ *\(.*\) *$/\1/'|cut -d' ' -f1|xargs kill
echo 不在线,开始连接...
ssh -p 7777 -R 2222:127.0.0.1:22 -qfnN yourSshUser@your.3322.org &
sleep 10s
netstat -ant|grep 7777
sleep 30s
else
echo 已在线,30s后再测试
sleep 30s
fi
}
done
最后,别忘记了实现ssh的自动登录,以上都是基于ssh自动登录完成的。
1. ssh连通时有个添加key到know_host的提示,需要输入yes,怎样避免!
解决:
1. 首先在公司的ssh服务端,配置hosts,配置域名your.3322.org指向你的电脑ip
1. 使用公司ssh模拟以上操作即可,这样完成了添加know_host key到ssh服务端,同时还可以验证ssh免登录