有几天我在我的机器上遇到了 SSH 问题(我猜是在安装了一些我不记得的软件之后......(原文如此))
这是非常有问题的我使用 Git与其他人一起处理一些代码项目,通过 SSH 将我的工作推送到存储库上。
我 100% 确定问题出自我的计算机(Linux Mint 16 cinnamon),因为:
从相同的互联网连接(相同的路由器,相同的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.
命令结果netstat - 植物 |正则表达式:22
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1248/sshd
tcp6 0 0 :::22
有人告诉我这可能是我的 iptables 的问题,并尝试过sudo iptables -X
(和-F
),但没有成功。我不知道如何进一步管理这个问题......
编辑:
正如评论中所要求的,我尝试在详细模式下运行普通的 SSH 会话。以下是我收到的消息:
-$ ssh -v [email protected]
OpenSSH_6.2p2 Ubuntu-6ubuntu0.4, OpenSSL 1.0.1e 11 Feb 2013
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to [email protected] [82.165.49.211] port 22.
debug1: connect to address 82.165.49.211 port 22: Connection refused
ssh: connect to host [email protected] port 22: Connection refused
命令结果ls -al /var/运行/
total 52
drwxr-xr-x 25 root root 820 jan 30 20:49 .
drwxr-xr-x 24 root root 4096 oct 14 22:35 ..
-rw-r--r-- 1 root root 5 jan 30 20:49 acpid.pid
srw-rw-rw- 1 root root 0 jan 30 20:49 acpid.socket
drwxr-xr-x 2 root root 60 jan 30 20:49 apache2
drwxr-xr-x 2 avahi avahi 80 jan 30 20:49 avahi-daemon
drwxr-xr-x 2 root root 60 jan 30 20:49 console
drwxr-xr-x 2 root root 60 jan 30 20:49 ConsoleKit
-rw-r--r-- 1 root root 5 jan 30 20:49 console-kit-daemon.pid
-rw-r--r-- 1 root root 5 jan 30 20:49 crond.pid
---------- 1 root root 0 jan 30 20:49 crond.reboot
drwxr-xr-x 3 root lp 120 jan 30 20:49 cups
drwxr-xr-x 2 messagebus messagebus 80 jan 30 20:48 dbus
srw-rw-rw- 1 root root 0 jan 30 20:49 gdm_socket
drwxr-xr-x 2 root root 40 jan 30 20:49 initramfs
drwxrwxrwt 3 root root 60 jan 30 20:49 lock
-rw-r--r-- 1 root root 5 jan 30 20:49 mdm.pid
-rw-r--r-- 1 root root 135 jan 30 20:48 motd
drwxr-xr-x 2 root root 60 jan 30 20:48 mount
drwxr-xr-x 2 mysql root 80 jan 30 20:49 mysqld
drwxr-xr-x 3 root root 140 jan 30 20:49 network
drwxr-xr-x 2 root root 100 jan 30 20:49 NetworkManager
-rw-r--r-- 1 root root 5 jan 30 20:49 pglcmd.wd.pid
-rw-r--r-- 1 root root 5 jan 30 20:49 pgld.pid
drwxr-xr-x 2 root root 40 jan 30 2015 plymouth
drwxr-xr-x 4 root root 80 jan 30 20:49 pm-utils
drwxr-xr-x 2 root root 40 jan 30 20:49 pppconfig
drwxr-xr-x 3 root root 100 jan 30 20:49 resolvconf
-rw-r--r-- 1 root root 4 jan 30 20:48 rsyslogd.pid
drwxr-xr-x 2 root root 320 jan 30 20:49 samba
srw-rw-rw- 1 root root 0 jan 30 20:48 sdp
drwxr-xr-x 2 root root 60 jan 30 20:49 sendsigs.omit.d
drwxrwxrwt 2 root root 140 jan 30 20:49 shm
drwxr-xr-x 6 root root 120 jan 30 20:49 systemd
drwxr-xr-x 6 root root 160 jan 30 20:49 udev
drwx------ 2 root root 40 jan 30 20:49 udisks2
-rw-r--r-- 1 root root 4 jan 30 20:48 upstart-file-bridge.pid
-rw-r--r-- 1 root root 4 jan 30 20:48 upstart-socket-bridge.pid
-rw-r--r-- 1 root root 4 jan 30 20:48 upstart-udev-bridge.pid
drwxr-xr-x 3 root root 60 jan 30 20:49 user
-rw-rw-r-- 1 root utmp 3840 jan 30 20:50 utmp
内容/etc/ssh/ssh_config(没有“#”注释行)
Host *
# (...)
SendEnv LANG LC_*
HashKnownHosts yes
GSSAPIAuthentication yes
GSSAPIDelegateCredentials no
答案1
我终于找到了解决我遇到的问题的方法。我发现这篇关于 iptables 的文章。它对我解决问题有很大帮助。
我唯一做的就是运行命令
sudo iptables -F
这样做使我能够再次推送远程存储库,从而使用 ssh。但我必须保存它。
为此,我运行另一个命令以使由于上一个命令而引起的所有更改持久化
sudo apt-get update
sudo apt-get install iptables-persistent
我发现感谢之前链接的文章。同时我重新启动,一切正常。