【发布时间】:2021-02-08 08:40:50
【问题描述】:
我在 Windows Bash 终端上遇到了这个问题(试图解决另一个问题...)。
ERROR: initcaps
[Errno 2] iptables v1.6.0: can't initialize iptables table `filter': Table does not exist (do you need to insmod?)
Perhaps iptables or your kernel needs to be upgraded.
我要做的是启用 SSH 访问,这样我就可以 ssh 进入我前段时间制作的 linux 服务器。
在网上四处搜寻,从字面上看,没有解决方案对我有用。看起来人们经历过这种情况的大部分时间都是在 Docker 容器上,而我只是在使用 Windows。
sudo apt-get install linux-image-$(uname -r)
以及升级我的内核的各种尝试。
sudo apt-get update
sudo apt-get full-upgrade
编辑: 问题的根源似乎是我通过 SSH 完全无法访问我的 Linux 服务器。
通过 WSL 通过 SSH 登录不会让我进入,通过 Putty 或 Git Bash 登录会导致我遇到“连接超时”问题。
不知何故,我需要重新建立对我也被锁定在 SSH 访问之外的服务器的访问权限。服务器托管在 Linode 上。
【问题讨论】:
-
WSL 不使用 iptables,因为它不运行 Linux 内核。假设 iptables 可用并已加载,您正在运行什么脚本?您是否可以简单地编辑脚本以忽略该步骤,然后使用组策略手动设置相应的 Windows 防火墙规则?
-
嗨 nanofarad,我只是在运行
sudo ufw allow ssh。这样我就可以通过 SSH 连接到我的 linux 服务器(我昨天可以...)。奇怪的是,我在那里托管的应用程序运行良好,但我完全无法访问服务器。编辑:我也尝试在完全禁用计算机防火墙的情况下运行相同的脚本。 -
sudo ufw allow ssh如果在 Windows 计算机上运行 将不起作用,并且如果您的问题涉及 Linux 服务器,则无关紧要。您需要以某种方式获得对 Linux 服务器的访问权限(无论是通过带外方式还是其他方式)并在服务器上运行该命令。 -
@nanofarad,这里的难题是这正是我要解决的问题!显然在它上面安装 nginx 禁用了 SSH 访问,所以现在我完全被它锁定了。我尝试通过 Putty 访问它,但效果不佳。如果我在安装 Nginx 后仍然在我的 Linux 服务器上登录时完成了该脚本,那么认为这一切都可以避免,真是令人心碎!
-
您可能希望登录到托管该服务器的提供商的控制台——他们可能提供带外访问,例如通过(虚拟化)串行端口,这应该足以解决和恢复 SSH 访问。至于这篇文章,我建议对其进行编辑以更好地反映情况,因为当前内容有点误导(因为它指的是您在 WSL 机器上运行脚本时发生的错误)