首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ufw允许ssh -然后连接丢失。

ufw允许ssh -然后连接丢失。
EN

Unix & Linux用户
提问于 2015-11-18 22:42:30
回答 1查看 3.1K关注 0票数 2

我正在尝试通过SSH在云中设置debian服务器。我用钥匙登录。

在初始启动之后,我希望设置UFW:

代码语言:javascript
复制
apt-get install ufw
ufw allow ssh
ufw enable

这就是我过去通过SSH登录时所做的事情。但是,有了这个服务器,连接就丢失了,我似乎被锁在外面了。我试过两次了。也许我忽略了什么,但我认为这是做这件事的方法。这里发生了什么事?为什么这个不行?

注意:我意识到我每15分钟就可以通过一次任务使ufw失效。这使得测试成为可能,并且在一次失败的尝试之后,机器可以访问一段时间。

更新

下面是/lib/ufw/user.rules的内容。文件user6.规则具有类似的内容。

代码语言:javascript
复制
*filter
:ufw-user-input - [0:0]
:ufw-user-output - [0:0]
:ufw-user-forward - [0:0]
:ufw-before-logging-input - [0:0]
:ufw-before-logging-output - [0:0]
:ufw-before-logging-forward - [0:0]
:ufw-user-logging-input - [0:0]
:ufw-user-logging-output - [0:0]
:ufw-user-logging-forward - [0:0]
:ufw-after-logging-input - [0:0]
:ufw-after-logging-output - [0:0]
:ufw-after-logging-forward - [0:0]
:ufw-logging-deny - [0:0]
:ufw-logging-allow - [0:0]
:ufw-user-limit - [0:0]
:ufw-user-limit-accept - [0:0]
### RULES ###

### tuple ### allow tcp 22 0.0.0.0/0 any 0.0.0.0/0 in
-A ufw-user-input -p tcp --dport 22 -j ACCEPT

### END RULES ###

### LOGGING ###
-A ufw-after-logging-input -j LOG --log-prefix "[UFW BLOCK] " -m limit --limit 3/min --limit-burst 10
-A ufw-after-logging-forward -j LOG --log-prefix "[UFW BLOCK] " -m limit --limit 3/min --limit-burst 10
-I ufw-logging-deny -m state --state INVALID -j RETURN -m limit --limit 3/min --limit-burst 10
-A ufw-logging-deny -j LOG --log-prefix "[UFW BLOCK] " -m limit --limit 3/min --limit-burst 10
-A ufw-logging-allow -j LOG --log-prefix "[UFW ALLOW] " -m limit --limit 3/min --limit-burst 10
### END LOGGING ###

### RATE LIMITING ###
-A ufw-user-limit -m limit --limit 3/minute -j LOG --log-prefix "[UFW LIMIT BLOCK] "
-A ufw-user-limit -j REJECT
-A ufw-user-limit-accept -j ACCEPT
### END RATE LIMITING ###
COMMIT

以下命令会导致错误,因为还没有规则。这是在安装UFW之后。

代码语言:javascript
复制
ufw insert 1 allow 22/tcp
ERROR: Invalid position '1'
EN

回答 1

Unix & Linux用户

发布于 2015-11-18 23:29:24

执行该命令后,运行此命令将允许您确认规则是否实际到位,并且没有任何其他阻塞规则(这需要连接防火墙并运行--请通过控制台进入以确保ssh不会在测试时将您踢出):

代码语言:javascript
复制
ufw status

为了纠正您的问题,我建议尝试以下命令:

代码语言:javascript
复制
ufw insert 1 allow 22/tcp

这将为来自任何地方的ssh连接添加一条规则,允许在防火墙表规则集的顶部设置--或者从安全的角度来看,更好的是,可以包括基于IP的限制:

代码语言:javascript
复制
ufw insert 1 allow from <YOUR IP> proto tcp to any port 22

这将添加一个规则,允许只从IP通过ssh进行连接。

将该规则放在首位的原因是为了规避任何可能给您带来麻烦的拒绝规则。还值得确保安装和运行ssh:

代码语言:javascript
复制
apt-get install openssh-server
service ssh start
票数 3
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/243980

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档