私人 IRC 频道

私人 IRC 频道

假设我有一个在 Linux 机器上运行的 IRC 服务器,并且访问该机器的唯一方法是通过 ssh。我不想向外界开放任何端口,我只希望登录该服务器的人能够连接到在该主机上运行的 IRC 服务器。

我总是可以通过 SSH 连接到服务器并通过 SSH 转发一些端口。有没有更好的方法?有没有 IRC 客户端可以让我安装私钥然后为我转发 IRC 端口?

答案1

我想您应该能够在许多客户端中编写一个脚本,该脚本将执行命令行以打开带有端口转发的 SSH 连接,然后连接到本地主机上的相应端口。

答案2

如果您的用户都能够在与 ircd 相同的系统上运行 irc 客户端:许多客户端和服务器都能够通过 UNIX 域套接字使用连接,因此唯一监听传入流量的就是您的 sshd。

答案3

如果您知道如何设置 SSH 以使用authorized_keys文件中的密钥进行身份验证,那么您已经成功了一半。您可以配置该文件以在拥有私钥的用户登录时自动运行脚本/命令。这甚至可以包括在服务器端运行 IRC 客户端。

或者,在客户端,您需要进行-L 6667:ircserver:6667端口转发。然后,只需将您的 IRC 客户端连接到它localhost:6667,它就可以正常工作。

答案4

我认为,如果您只希望 ircd 上有 shell 用户,最快、技术含量较低的方法是仅在本地 IP(例如 127.0.0.1)上运行 ircd,然后安装基于 CLI 的 IRC 客户端,如 weechat、irssi、bitchx 或 epic。然后,Shell 用户必须通过 ssh 连接到服务器,然后启动 irc 客户端。

安装和使用 screen 也可以帮助用户无需关闭 irc 客户端即可返回到他们的 shell。

希望有所帮助。

相关内容