-
Notifications
You must be signed in to change notification settings - Fork 18
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ssh内网穿透连接树莓派 #7
Comments
ssh -f -N -R 2222:localhost:22 [email protected] 这个改成ssh -f -N -R 0.0.0.0:2222:localhost:22 [email protected],然后把/etc/ssh/sshd_config 里加上GatewayPorts yes,就能把2222绑定到0.0.0.0上,通过外网也能直接访问1.1.1.1的2222端口了 |
怎么手工断开ssh隧道? |
首先 |
😄吃灰。 |
@bbiao 好像不行吧, 绑定的还是127.0.0.1 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
为了不让树莓派继续在家吃灰,周末又拿出来折腾了一下。apt-get升了个级,300M+的更新之后竟然没挂!可以继续折腾。。
家里电信宽带,路由器admin密码有待破解,在外网如何方便控制家里的树莓派成了一个问题。
目前有个小vps,可以作为中继连接树莓派,有几种方案选择:
1. 首选VPN
这个很简单,vps上搭建一个vpn,然后树莓派和控制端都连上vpn,那么树莓派和控制端就在同一个局域网内部了,可以直接ssh连接的。
网上找到这样的方法连vpn:
sudo pptpsetup --create vpnname --server ip --username test --password test --encrypt --start
,但是树莓派一执行这个命令就断网,原因未知,只能重启。2. 通过ssh隧道
原理也很简单,假设vps地址是
1.1.1.1
,树莓派通过ssh连接到vps,同时将vps上某个端口比如1234
映射到树莓派的ssh端口比如22
,这样在vps上访问1234
端口就相当于访问树莓派的22
端口,命令很简单:上面那个命令会将vps上的2222端口映射到树莓派的22端口(ps:你也可以映射你感兴趣的其他端口^_^):
看起来这样就OK了,但是,如果树莓派的ssh因为某种原因断开了,我们就无法再控制了,因此我们需要让ssh断开之后自动重连,
autossh
是一个好选择,在树莓派开启ssh隧道需要这样做:我们需要autossh自动连接,就需要让树莓派可以免密码ssh登陆vps,这样重连的时候可以自动连上:
假设上面的操作我们是在树莓派上用
rpi
这个账户这样树莓派只要开机就自动连接vps,我们就可以方便地控制和重启了。
上面提到,在vps上,
2222
这个端口实际上是在127.0.0.1
上监听的,也就是说在外网是没法直接ssh的,我们可以通过以下方式来解决1. 笨办法
ssh登上vps,然后再
ssh -p 2222 rpi@localhost
登陆树莓派2. 将2222端口映射到外网
可以用
iptables
做端口映射,例如将vps的23端口映射到vps的2222端口需要注意的是需要打开
ip_forward
功能:# echo '1' > /proc/sys/net/ipv4/ip_forward
3. 配置客户端netstat转发
修改客户端的
~/.ssh/config
如下保存之后首先测试
ssh vps
可以正常登陆,然后确认vps上有安装netcat
,接下来就可以ssh rpi
来登陆树莓派了,如果ssh-copy-id
之后是可以一键直接登陆的,还可以用scp
来拷贝文件,非常方便。接下来就是看看在树莓派上折腾点东西玩~
ps: 贴张树莓派的照片
The text was updated successfully, but these errors were encountered: