海运的博客

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

发表评论

分类
最新文章
最近回复
  • wang: openwrt 只有 tmp/etc/miniupnpd.conf 修改后又重置了,其他路径找...
  • wbq: 可以了 只是https透明代理如何做呢?
  • wbq: 你的这个配置需要浏览器设置代理ip+port, 现在假设不设置,只配置客户端网关为Nginx那...
  • wbq: 您好,想用Nginx做个透明代理,客户端机器配置下网关(即Nginx那台机器),客户端dns配...
  • ccc: 可以提供易调用openssl常用函数吗?
  • 夜未央: 在centos7 下面 貌似转换不了。有人遇到过么????
  • brian: 博主你好,请教一个问题。我使用fprobe进行将交换机流量转换成netflow时是没有问题的,...
  • 吴昊: 学习了,感谢博主分享
  • dabral: Are there any other security restrictions in pl...
  • linhua: 只需配置 服务端 的接收端口随机化就行了, 发送端口 因为 连接追踪(conntrack)的缘...