海运的博客

Openwrt配置ssh自动登录服务器socks5转发

发布时间:July 2, 2012 // 分类:OpenWrt // No Comments

本文目的实现Openwrt自动ssh数据转发,内部局域网用户可随时通过此ssh实现代***理上网。
Openwrt自带dropbear只支持静态端口转发,可以在服务器端配置ssh动态转发或安装socks5代理服务器,然后转发到socks5监听端口:

#转发本地7070端口到远程服务器socks5代理7070端口
ssh -N -L 192.168.1.1:7070:localhost:7070 root@server

如果openwrt空间较大的话可以安装openssh客户端,在openwrt路由上配置ssh动态转发:

#删除ssh软链接
rm -rf /usr/bin/ssh 
#删除scp软链接
rm -rf /usr/bin/scp 
#更新列表
opkg update 
#安装openssh客户端
opkg install openssh-client openssh-keygen

2.Openwrt生在ssh密钥并上传到服务器端:

ssh-keygen -y -f ~/.ssh/id_rsa && cat ~/.ssh/id_rsa.pub | ssh root@server "cat - >> ~/.ssh/authorized_keys"

3.实现ssh转发:

ssh -NfD 0.0.0.0:7070 user@server

可加入开机启动:

echo 'ssh -CNfD 192.168.1.1:7070 user@server >/dev/null 2>&1 &' >> /etc/rc.local

如果网络断开或重新拨号SSH会断开,可新建shell脚本监控ssh自动重新连接:

#!/bin/bash
while true
do
if netstat -tlnp|grep ":7070"
then
echo "ssh is working"
else
ssh -CNfD 192.168.1.1:7070 user@server >/dev/null 2>&1 &
fi
sleep 300
done

2015.02.11更新:
可以使用autossh或runit监控SSH断线自动重连,ssh连接设置以下参数,超时后ssh退出,然后autossh或runit会自动重启ssh:

ServerAliveInterval 60
ServerAliveCountMax 3
ConnectTimeout 60

标签:ssh, ssh密钥, ssh证书, ssh实现自动登录, openwrt下ssh自动代理, socks5, proxy, supervisor, runit, autossh

发表评论

分类
最新文章
最近回复
  • 吴昊: 学习了,感谢博主分享
  • linhua: 只需配置 服务端 的接收端口随机化就行了, 发送端口 因为 连接追踪(conntrack)的缘...
  • Realm: 博主你好,按照你的教程设置了IP转发及SNAT:echo 1 > /proc/sys/net/...
  • Roki: 大神, 为什么我在make clean 就出错了呢 ?你能帮我看看吗 。。。474495758...
  • Duuge: 遇到相同的问题,但未能解决,请求帮助。1、遇到的问题:/target-i386_i486_uC...
  • carlo: 大哥,我觉得你的技术好牛逼!能加你QQ吗
  • lebron: Unknown package 'lrzsz'.Collected errors:* opkg...
  • Vicer: 在openwrt 15.05 下 luci 界面安装了 带操作界面的 openconnect ...
  • tutugreen: 搭建很顺利(唯一成功的www),链接很丝滑,谢博主。
  • 惊蛰: 您好,请问一下,我客户端和服务端都编译成功了,down到本地启动是这个样子,没有Forward...
页面执行耗时:0.0402秒。-->