仅允许用户打开ssh隧道,禁止其它操作
这个故事是这样的,因为长城宽带无法连接我放在digitalocean上的代理服务器,所以我需要利用国内的某台服务器作为跳板来打通到代理服务器的连接。
我知道ssh隧道可以搞定这件事,最后,我的确搞定了。
当我搞定之后,发现身边还有其它用长城宽带的朋友,也希望用我的代理服务器,所以我就得把ssh隧道链接代理服务器的方法共享给他。
如果我把登录服务器的密钥给他,那他就能开隧道,同时,他也能登录我的服务器,虽然他不会瞎搞,但万一他把密钥泄露给别人呢?别人瞎搞怎么办。
最后我新建了一个用户forward,并重新生成了一个新的密钥对。我禁用了密码登录,所以需要配置ssh的免密登录。
- 将forward.pem.pub,也就是公钥的内容,放到~/.ssh/authorized_keys里面,配置过ssh免密登录的朋友应该都知道是啥意思。相关内容参考ssh基础知识
- 在密钥开始的ssh-rsa前面,添加如下内容,记得在
ssh-rsa
之前用空格隔开
打开隧道的命令就变成了这样:
也可以在本地的~/.ssh/config文件中做如下配置:
可以这样打开隧道:ssh -N proxynode