使用 SSH 连接 I2P 中的两个节点

使用 SSH 连接 I2P 中的两个节点

我有 2 个客户端,它们都运行 I2P。是否可以通过 I2P 网络内的 SSH 连接它们?

例如:客户端 2 设置 SSH 服务器,客户端 1 连接到该服务器。所有这些都发生在它们都连接到 I2P 时。

答案1

是的,这是可能的。

在客户端2上:

  • Standard server在 I2PTunnel 中创建隧道。
  • 将其设置Name为您能识别的内容。
  • 将其设置Target Port为您的 SSH 服务器正在监听的端口。
  • 勾选该Auto Start复选框。
  • 保存隧道。
  • 打开隧道再次进行编辑(单击 I2PTunnel 列表中的名称)。
  • 复制Local destination字符串。

在客户端 1 上:

  • Standard client在 I2PTunnel 中创建隧道。
  • 将其设置Name为您能识别的内容。
  • Local destination将之前复制的字符串粘贴到Tunnel Destination字段中。
  • 将 设置Access Point Port为某个空闲端口 (例如12345)。
  • (可选)选中该Auto Start框。
  • 保存隧道。

当两个隧道都在运行时,从客户端 1 连接到客户端 2 非常简单:

ssh [email protected] -p 12345

为了提高安全性,您可以为服务器隧道添加白名单。这意味着只有拥有您的客户端隧道私钥的人才能连接到服务器目标。

在客户端 1 上:

  • 打开客户端隧道进行编辑。
  • 在 下Persistent private key,选择Enable,然后将 中的名称更改File为您能识别的名称。
    • 此文件存储在您的 I2P 配置目录中(在 *nix 系统上,此目录为 ~/.i2p/)。如果此文件丢失或删除,则在客户端 1 路由器重新启动时将生成一组新的不同密钥,并且您将无法通过 SSH 进入客户端 2,除非您将新密钥添加到白名单中。
  • 保存隧道并重新启动。
  • 再次打开隧道进行编辑,并复制Local destination字符串。

在客户端2上:

  • 打开服务器隧道进行编辑。
  • 在下Restricted Access List(s),选择Whitelist
  • Local destination将之前复制的字符串粘贴到Access List框中。
  • 保存隧道并重新启动。

相关内容