这一切都在局域网内。我的服务器可以 ping 通。我可以从局域网内在我的服务器上运行 php 应用程序。
我已经安装了 openssh-server。我尝试了以下命令:
ps aux
它显示了:
process listed as /usr/sbin/sshd -D
但是,当我尝试该命令时:
netstat -tulpn
PID/程序名称列是空白的(我的意思是它有一个连字符)。
说实话,我不太了解这个领域。
但奇怪的是 SSH曾经工作但它突然停止了。我真的很想得到一些帮助来解决这个问题。
编辑:
我刚刚意识到我甚至无法通过浏览器运行 php 应用程序。但 URI 中的 localhost 可以与默认 index.html 页面配合使用。
更多信息:
仅供参考,我从未更改过任何iptables
设置。只有在遇到这个问题后我才这么做iptables -F
。
我甚至尝试重新安装 ssh 几次,但我确实感觉 iptables 中的条目导致了这个问题,正如我从下面的评论中了解到的那样。
如果我使用 关闭防火墙ufw disable
,ssh localhost
就可以了。
现在,当我尝试从另一台电脑访问该服务器时,收到一条相当大的错误消息,如下所示:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @
WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IT IS
POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY! Someone could be
eavesdropping on you right now (man-in-the-middle attack)! It is also
possible that a host key has just been changed. The fingerprint for
the ECDSA key sent by the remote host is
d4:........4:e9:75:06:61. Please contact your
system administrator. Add correct host key in
/home/khalid/.ssh/known_hosts to get rid of this message. Offending
ECDSA key in /home/khalid/.ssh/known_hosts:1 remove with: ssh-keygen
-f "/home/khalid/.ssh/known_hosts" -R 192.168.1.6 ECDSA host key for 192.168.X.X has changed and you have requested strict checking. Host key verification failed.
并且没有任何联系。
答案1
PID/程序名称为空白,因为您没有以 root 身份运行,请尝试,
sudo netstat -tupln
您可以ssh localhost
检查 sshd 是否正常工作。然后检查防火墙。
编辑:
查看系统日志后,我意识到服务器阻止了来自 eth1 的输入。所以我做的是使用
sudo ufw allow 22
并接受来自该端口的输入。
我不知道为什么它之前能用,后来就停了。这是我第一次启用这个端口来让 ssh 工作。但这招奏效了。
非常感谢新和格特夫戴克用于输入。
答案2
我认为没有必要发布自己的答案,因为这是基于@gertvdijk 和@neo 的评论的几个步骤。无论如何,这是一个完整的答案。
非常感谢 neo 和 gertvdijk 的贡献。下面是我为使其正常工作所做的事情:
检查了文件/var/log/syslog使用此命令:
sud 编辑器 /var/log/syslog
识别出那些显然表明 LAN 以太网卡上的传入流量被阻止的条目。以下不是确切的条目,但它应该能给人们一个想法:
[UFW 阻止] IN=eth1 OUT= MAC =.... SRC=$
因此,如果您有类似的条目,则说明您被阻止了。 在我的情况下,eth1 连接到我的 LAN,eth0 连接到 Internet。 但奇怪的是,我有绝不启用或禁用了防火墙。所以我很困惑为什么会发生这种情况。
无论如何,我过去都
sudo ufw allow 22
允许从这个端口输入。
我不知道为什么它之前能用,然后突然就停止了。但这些步骤确实奏效了。
再次感谢大家的支持!