ssh -D 不建立隧道,它只是作为交互式会话连接。为什么?

ssh -D 不建立隧道,它只是作为交互式会话连接。为什么?

我正在尝试创建 SOCKS5 隧道,但由于某种原因,使用 -D 不起作用。以下是摘录:

laptop:~ localuser$ ssh -D 8080 -p 2222 [email protected]
[email protected]'s password: 
Last login: Mon Apr 22 08:49:37 2013 from 207.167.42.77
[email protected] [~]# 

它创建了一个交互式会话,而不是打开端口。为什么?

答案1

这是正确的行为。SSH 建立隧道打开一个交互式会话。如果您只想要隧道,请使用-Nssh 选项;您可能还想将其与以下选项结合使用-f

ssh -Nf -D 8080 -p 2222 [email protected]

man ssh

-f 请求 ssh 在命令执行前进入后台。如果 ssh 要求输入密码或口令,但用户希望在后台执行,则此功能很有用。(...)

-N 不执行远程命令。这对于仅转发端口(仅限协议版本 2)有用。

答案2

你缺少-N

如果你不想运行会话,只想要隧道,请使用 -f

ssh -f -D 8080 -p 2222[电子邮件保护]-N

相关内容