我正在尝试配置一个 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