在网上查找的ssh反向连接资料,ssh-keygen资料及cygwin下修改用户名的方法,对我有点用:
在内网上执行:
ssh -f -N -R 8888:localhost:22 xxx@xxx.xxx.org
xxx.xxx.org可以是ip,
在公网的的电脑上执行:
ssh xxxx@localhost -p 8888
就可以成功连上内网的电脑了,
上面命令里面的 8888 是任一个本地端口。
如果断开自动连接的脚本:
#!/bin/bash while true;do RET=`ps ax | grep "ssh -f -N -R 10000:localhost:22" | grep -v "grep"` if [ "$RET" = "" ]; then echo "restart ssh server" ssh -f -N -R 10000:localhost:22 lyb@hahalee.3322.org fi sleep 10 done
cygwin下可以修改/etc/passwd中自己的用户名,这样可以和登录进来的名字不一样。ssh-keygen只能生成当前用户名下的内容。