有几天,我的机器出现了 SSH 问题(我猜是因为安装了一些我不记得的软件)。
当我使用 Git 与其他人一起处理一些代码项目并通过 SSH 将我的工作推送到存储库时,这非常成问题。
我 100%确定问题出在我的计算机(Linux Mint 16 cinnamon)上,因为:
通过相同的 Internet 连接(相同的路由器、相同的 IP),我可以用另一台计算机毫无问题地连接到同一台服务器。因此,这不是来自路由器的防火墙问题。
服务器管理员没有发现任何可能引起此问题的问题,并且其他所有人都可以正常访问。
这是 Git 告诉我的错误消息:
ssh: connect to host ******* port 22: Connection refused
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
有人告诉我这可能是我的 的问题iptables
,并尝试过sudo iptables -X
(和-F
),但没有成功。我不知道如何进一步处理这个问题。
老实说,我已经在 unix & linux stack exchange 上发布了这个问题,但没有成功。下面是我在 Unix 和 Linux 堆栈交换上发表的帖子
我在 askubuntu 上看到了类似的帖子,但我无法遵循建议,因为我使用的是 mint,而且似乎即使它基于 debian,处理它也会存在差异。askUbuntu 上其他类似的帖子
我也寻找过恢复这些 IP 表的解决方案,以确保问题确实存在,但我没有找到实现这一目标的方法。
答案1
我终于找到了解决该问题的方法。我找到了这篇关于 iptables 的文章它对我解决这个问题有很大帮助。
我唯一做的事情就是运行命令
sudo iptables -F
这样做让我能够再次推送到远程存储库,从而使用 ssh。但我必须保存它。
为此,我运行另一个命令,以使上一个命令导致的所有更改持久化
sudo apt-get update
sudo apt-get install iptables-persistent
我发现这要感谢之前链接的文章。在此期间我重新启动了系统,现在一切正常。