如何在没有用户名和密码的情况下连接到 shh 进行反向隧道

如何在没有用户名和密码的情况下连接到 shh 进行反向隧道

是否仅使用以下命令即可连接到 ssh 服务器(创建隧道):

ssh -R sPort:localhost:cPort myDomain.com

代替:

ssh -R sPort:localhost:cPort [email protected](也需要密码登录)?

编辑:根据问题建议的编辑。

答案1

默认情况下,当您未在命令中提供用户名时,ssh 将使用当前用户的用户名。如果您要登录的用户名与myDomain.com当前本地用户的用户名不同,您可以在 ssh 配置中添加特定于主机的设置(位于~/.ssh/config):

Host myDomain.com
    User yourUserName

要不使用密码登录,您需要将公钥复制到远程主机,以便将其识别为授权密钥。~/.ssh/id_rsa.pub如果您在生成密钥对时没有更改默认值,您的公钥很可能位于。要将公钥复制到服务器,请在本地计算机上运行以下命令:

ssh-copy-id -i ~/.ssh/mykey [email protected]

ssh -R sPort:localhost:cPort myDomain.com现在您无需输入密码即可创建隧道。

答案2

这是一个非常有缺陷的问题。

它与 ubuntu 无关.. 而且实际上也与反向隧道无关。

这将适用于命令行 SSH(任何标准实现)..

您设置了无密码 SSH。然后,您可以建立连接,使其建立反向隧道或常规隧道,或者不建立隧道。

要设置无密码 SSH,您可以查找,然后您会看到可以使用 ssh-copy-id,或者与其手动等效的几个命令。

然后瞧,您可以执行 ssh user@blah,并且对于反向隧道,您已经在示例中将其选项写入命令中。

你只需要无密码 SSH。这很容易在 Google 上找到。

(您仍然需要指定用户,除非远程系统上的用户恰好与本地系统上的用户名相同,因此有必要输入 user@。另一件事是可以制作一个本地 ssh 配置文件,将用户名放入其中,然后您可以跳过用户名选项)。

相关内容