通过工作站的 SSH 隧道连接到远程服务器

通过工作站的 SSH 隧道连接到远程服务器

我的情况与发布的情况类似这里但不完全相同。

我可以访问一台远程计算机A,该计算机是使用带有密码的私钥从计算机连接到的B。我想让同事访问我在远程计算机上的帐户A,但显然我不喜欢让他访问存储在计算机上的我的私钥B

我想做以下事情,但我很困惑,不知道该怎么做。我想打开从机器B(中间人)到A(远程)的隧道,让我的同事使用该隧道连接到远程机器。但是,这样做时我不想让他访问我在机器B(中间人)上的帐户。

我尝试过ssh -fNL 12345:A:22 me@AB但是当我发出时,ssh -p 12345 me@B我收到一条错误消息,说Permission denied (public key).我在这里做错了什么?

答案1

当您运行时ssh -p 12345 me@B,SSH 客户端正在通过隧道连接到 A 上的 SSH 服务器。您仍然需要有效的凭据(帐户和密码或 SSH 密钥)才能登录 A。因此,您应该使用您的 SSH 密钥进入 A。

我不确定你是否需要为此建立隧道。让你的朋友创建他自己的 SSH 密钥,并将密钥的公共部分给你。将公钥添加到authorized_keysA 上的文件中。如果你的朋友可以通过 SSH 访问 A,那么他就能够使用他自己的 SSH 密钥登录你的帐户。

如果您的朋友无法直接访问 A,那么您可以按照您描述的方式设置隧道,并让他按照您描述的方式登录。但是,他会使用自己的 SSH 密钥,而不是您的。

如果他不再是你的朋友,只需将他的公钥从你的authorized_keys文件中删除即可。

相关内容