外网SSH通过非22端口进入内网,请问有没有可能通过使用避免暴露端口?

问题是这样,想提供SSH访问,但IP不够多,所以采用端口映射,把一个IP的一个端口段都映射出去,但用户通过终端登录就必须加上端口号,像大家都知道的那样,这样会暴露端口:

$ssh -p ${port} root@${hostname}

那么请允许我贪心一点,能不能用某种方式,将参数p隐藏起来?比如反向代理什么的?

$ssh root@${domainname}

请问有没有这个可能性?

阅读 5.6k
3 个回答

1.有。ssh的敲门机制。
地址在
http://www.ibm.com/developerw...
但是不常用。
(对于个人而言denyhosts也能达到效果)。

2.很高兴你能考虑到这个问题,但是通常,企业对外开放的端口只有一个,就是80。
同时,他们会提供一个vpn服务器。
再除此之外,还有一个叫做堡垒机的东西专门用于ssh到其他服务器。

作为我的第213个回答,补充几个链接:

1.跳板机(附带跳板机开源地址)
http://os.51cto.com/art/20140...

2.堡垒机(跳板机)+LDAP实现 系列文章
https://segmentfault.com/a/11...

3.vpn,对的,跳板机外面最好再附带一层vpn
http://blog.cnezsoft.com/blog...

4.jumpserver
http://jumpserver.org/

这个是没得的吧 没听过能这样。

实际上不用这么麻烦,你可以用securecrt登陆到一个服务器上,然后通过ssh proxy的模式访问其它机器。相当于通过一个ssh代理,用ssh协议访问其它内网服务器。这样的话,安全性可以大大增加。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏