iptables Ubuntu VPS SSH 规则

iptables Ubuntu VPS SSH 规则

我正在尝试配置一个 VPS Ubuntu 服务器来连接到代码库 GIT 服务器,就像 heroku 代码库身份验证基于 SSH RSA 密钥一样。

我已将密钥上传到存储库,并且当我使用测试命令测试代码库密钥时:

ssh [email protected]

它没有响应,连接超时。我尝试使用以下方法查看请求:

“ssh”[电子邮件保护]-v” 但它停止在:debug1:连接到codebasehq.com [188.65.183.234] 端口 22。

因此我将 iptables 规则编辑如下:

#cleaning rules
iptables -F
iptables -t nat -F

#Standard behaviour
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP

#SSH
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
#iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT

iptables -A INPUT -p icmp -j ACCEPT

#DNS
#iptables -A OUTPUT -p udp --dport 53 --sport 1024:65535 -j ACCEPT
iptables -A INPUT -p udp --sport 53 --dport 1024:65535 -j ACCEPT

#GIT
#iptables -A OUTPUT -p tcp --dport 9418 -j ACCEPT
iptables -A INPUT -p tcp --sport 9418 -j ACCEPT

#SSL
iptables -I INPUT -p tcp --dport 443 -j ACCEPT

答案1

对于 TCP,您必须考虑状态,这应该会有所帮助... :-)

#cleaning rules
iptables -F
iptables -t nat -F

#Standard behaviour
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP

# accept established connections
iptables -A INPUT -p ALL -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
# loopback interface
iptables -A INPUT -p ALL -i lo -j ACCEPT

#SSH
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -j ACCEPT
#iptables -A OUTPUT -p tcp --sport 22 -m state --state NEW -j ACCEPT

iptables -A INPUT -p icmp -j ACCEPT

#DNS
#iptables -A OUTPUT -p udp --dport 53 --sport 1024:65535 -j ACCEPT
iptables -A INPUT -p udp --sport 53 --dport 1024:65535 -j ACCEPT

#GIT
#iptables -A OUTPUT -p tcp --dport 9418 -m state --state NEW -j ACCEPT
iptables -A INPUT -p tcp --sport 9418 -m state --state NEW -j ACCEPT

#SSL
iptables -I INPUT -p tcp -m state --state NEW --dport 443 -j ACCEPT

相关内容