假设我有一个运行在Linux机器上的IRC服务器,唯一的方法就是通过ssh。 我不想打开任何端口到世界上,我只想让在该服务器上login的人能够连接到在该主机上运行的IRC服务器。
我总是可以SSH到服务器,并通过SSH转发一些端口。 有没有更好的办法? 有IRC客户端,让我安装我的私钥,然后为我转发IRC端口?
我想你应该可以在许多客户端写一个脚本来执行一个命令行来打开一个带有端口转发的SSH连接,然后连接到本地主机的相应端口。
如果您的用户都能够在与ircd相同的系统上运行irc客户端:许多客户端和服务器都可以使用UNIX域套接字上的连接,所以侦听传入stream量的唯一方法是使用sshd。
如果您知道如何使用authorized_keys文件中的密钥来设置SSH进行身份validation,那么您已经是中途了。 您可以configuration文件,以便在拥有私钥的用户login时自动运行脚本/命令,甚至可以在服务器端运行IRC客户端。
或者,在客户端,您将需要执行-L 6667:ircserver:6667端口转发。 然后,把你的IRC客户端连接到localhost:6667 ,它应该可以正常工作。
如果你有防火墙访问权限,你可以使用一个叫做portKnocking的东西,它可以让你添加一个非常好的安全层。 基本上,您可以按特定的时间“敲”特定的端口范围,并且在预定的时间内打开特定的端口供您连接。 所有这些variables都可以由您设置。 我把它设置在我的路由器上,它运行DD-WRT,它非常好。
url: http : //www.dd-wrt.com/wiki/index.php/Knockd
我认为,如果你只是想在ircd shell用户,最快,低技术的方式是运行在本地IP ircd,例如127.0.0.1,然后安装一个CLI为基础的IRC客户端,如weechat,irssi,bitchx或史诗。 然后Shell用户必须ssh到服务器,然后启动irc客户端。
安装和使用屏幕也可以帮助用户返回到他们的shell而不closuresirc客户端。
希望有所帮助。