Oct16

用ssh反向连接内网主机

最近为了这件事情很郁闷。 我们小区是长宽(长城宽带),开始的时候,除了速度不怎么样没有什么别的坏处,还可以24小时在线下东西。我到了公司以后,就 用ssh连接上自己的机器,如果需要什么东西都可以很方便。 但是过了一段时间,发现用标准的22端口已经连接不上自己的机器了,在公司ping都ping不通自己的机器。怀疑是路由器节点在搞鬼,于是将ssh转移到80端口,问题基本解决。 好景不长,今天发现居然连80端口都无法访问了。 于是上网找到这个。 大意就是说可以通过ssh反向连接到内网主机(有防火墙的主机) 好,下面是步骤: 0. 在两侧都安装ssh 1. 在被控端运行ssh -f -N -R 10000:localhost:22 username@主控端ip。这里的10000和22是端口号,也就是说,在主控端10000端口和被控端的22端口上建立了一个通道。 2. 在主控端运行 ssh username@localhost -p 10000。这里的username是你被控端的username,10000就是刚才的那个端口号。 ok了。 至于你要如何在两端都运行命令,那就看你自己了,不管使用脚本还是两端都有人,都可以。用脚本的话,可以参考我以前的让ssh自动连接。

trackback Tags: 评论 (1)

Aug18

挂载远程SSH服务器到本地

为什么要把远程的SSH挂载到本地呢?原因很简单,方便。可以用cp等系统命令完成上传操作,这样我就不用把文件复制到我的htdocs目录,然后用wget了。 办法也很简单,两步。 配置ssh自动登陆 配置自动挂载 先说配置自动登陆。 生成钥匙对 ssh-keygen -d 注意,要求你输入密码的时候不要输入任何密码。 上传公钥 ssh-copy-id -i ~/.ssh/berg_dsa.pub pmme.cn 如果你的ssh服务器不是默认端口那就不能用这个命令了,但是只要把~/.ssh/berg_dsa.pub这个文件放到远程服务器的~/.ssh/authorized_keys就行。不论你使用wget或者scp,都可以。 最后,修改配置文件。 cp /etc/ssh/ssh_config ~/.ssh/config vim ~/.ssh/config 将IdentityFile ~/.ssh/id_dsa这一行去掉注释并且修改成你自己的地址。 好了,现在你应该能够不用输入密码就登陆ssh服务器了。提醒一下,这样做比较不安全,建议经常更换公钥。 然后,就是自动挂载了。我们需要用到sshfs这个包。 sudo apt-get fuse-utils libfuse2 sshfs 要使用sshfs的用户需要先加到fuse这个用户组里,重新登陆后生效,不然会没有权限执行fusermount: 下面就很简单了。 sshfs berg@pmme.cn: mount_point 就mount到了你指定的位置 如果想开机就挂载,那也简单。在/etc/fstab中加入下面一行就OK sshfs#berg@pmme.cn: mount_point fuse defaults,auto,allow_other 0 0 umount是 fusemount -u mount_point 如果你还有什么问题,可以留言和我交流。 本文参考了fwolf的

trackback Tags: 评论