我有一台服务器,其中只使用 openssh、openvpn 和 rabbitmq(需要很多 erlang 依赖项)。
每次我重启服务器,我都无法再访问它
端口 22:连接被拒绝
我必须从头开始安装一切。
我应该检查什么来避免这个问题?
答案1
要在终端中查看防火墙设置,请执行以下操作: -
sudo iptables -L -n
你在找类似的东西
# iptables -L -n
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- anywhere anywhere tcp dpt:ssh
DROP all -- anywhere anywhere
如果没有设置端口 ssh(22)规则则尝试:
sudo iptables -I INPUT -p tcp -m tcp --dport 22 -j ACCEPT
将当前的 iptables 防火墙规则保存到名为 的文件中/root/dsl.fw
,输入:
# iptables-save > /root/dsl.fw
要恢复 iptables 规则,请输入:
iptables-restore < /root/dsl.fw
要在 Linux 系统重启时自动恢复规则,请将以下命令添加到文件中/etc/rc.local
,输入:
# vi /etc/rc.local
添加以下行:
/sbin/iptables-restore < /root/dsl.fw
要检查哪些 init 服务正在运行以及在哪个运行级别运行,请在终端中尝试此操作
ls /etc/rc*.d
如果未列出 sshd,请在终端中输入以下内容:
update-rc.d ssh enable
答案2
端口 22:连接被拒绝
此消息表明防火墙正在主动阻止您的连接尝试,或者 sshd 没有监听该端口。
确认:
- 启动时应用的 iptables 规则允许端口 22 上的流量
- sshd 设置为开机启动
答案3
尝试一下(以 root 身份)
sudo apt-get install ssh
我没有在标准 ubuntu 桌面安装中安装 ssh 服务器