如果我转发端口22,我仍然可以ssh进入我的服务器吗?

如果我用sshuttle设置“转发”

myserver:~$ sshuttle -r username@TARGET 0.0.0.0/0 

我仍然能够从mymachine ssh到myserver吗? 我想不是,但是我害怕尝试。


或者,如果我只转发端口22

 myserver:~$ ssh -nNT -L 0.0.0.0:22:localhost:22 TARGET 

有没有办法SSH入到我的服务器? 或者如果你想这样做,你需要打开额外的端口为SSH?

ssh someserver -R 10022:127.0.0.1:22 -fN将允许您直接在端口22和端口10022上的someserver服务器上ssh连接到您的机器,这将引导您到端口22上的服务器。

这是因为守护进程一直在监听它configuration监听的端口,并且因为它可以维护多个同时的ssh会话(当然假设你没有限制在sshd_config )。

再看看,你似乎试图从你的服务器“ myserver ”使用这些为客户端devise的工具。 我的回答涵盖了您在客户端使用它们的情况,“ mymachine ”。

这个sshuttle项目的文档看起来相当不正规:即使是它的工作原理文章也只是告诉它它做了什么 。 它将这个项目与其他工具进行比较,主要是告诉它如何不起作用:它不像“SSH”端口一样“前”,但它不像“笨/复杂的VPN” 。 显然,作者似乎认为他发明了一些全新的东西,当然比以前任何人都更好。

我们可以根据文档( 要求 , 用法 )的简短通读来说明问题

  • 可以使用iptables (NAT)或recmsgrecmsg代理所有stream量到另一端,
  • 在远程服务器上不需要pipe理员访问权限,但在客户端计算机上需要root访问权限
  • 利用Python两端。

基于此,远程端的SSH也可以被代理,但这并不重要 ,因为您可能使用外部IP地址从远程服务器ssh到自身 ; 连接起源于隧道的哪一侧并没有什么不同。

我不知道你正在试图用你的替代解决scheme做什么,因为它甚至没有达到与第一个相同的结果。 然而,你不能绑定到本地端口22除非你是root用户,并且没有sshd已经在监听。 即使你成功了,我也看不出这是多么有用的东西。 但是,要回答这个问题:是的,你仍然可以sshremote:22 (+本地端口转发)。