ssh 连接被分配了错误的 IP 地址

ssh 连接被分配了错误的 IP 地址

我有一台运行 centOS 5 的服务器;GLAMP。这是仅限本地的设置——没有外部访问。

netstat 显示 LAN 上的一台机器建立了 SSH 连接。这台机器运行的是 XP,上面没有任何使用 SSH 的东西:

# netstat | grep tcp
tcp        0      0 dev.test.local:ssh ::ffff:192.168.1.11:51486 ESTABLISHED 

我尝试过的事情:

  • 在 iptables 中添加了一条规则,拒绝来自这台机器的所有内容
  • 最终重启了网络、apache、sshd 和整个机器
  • 暂时更改有问题机器的 IP(不能永久更改;人们需要它)

有趣的是:当我调查 hping 并尝试切断连接时,我注意到机器不会响应 hping - 100% 数据包丢失。但是,正常 ping 可以正常工作。因此,hping -F host 不起作用,因为出于某种原因,hping 无法到达主机。

这一切都是为了尝试解释为什么 Apache 突然变得如此缓慢。最近发生了网络变化,但不应该影响 LAN 的这一部分。我不知道这是否是问题的一部分,但这是我需要消除的一个变量。

关于如何终止此连接,我有什么想法吗?


更新;

好吧,事实证明我无法杀死它,因为它是我的shell!但是,出于某种原因,它没有反映出我的正确 IP 地址。当我第一次连接时,它显示我上次登录的 IP 地址是正确的,但 netstat 显示的地址不正确:

Last login: Thu Oct 27 10:42:25 2011 from 192.168.1.17
# netstat | grep tcp
tcp        0      0 dev.test.local:ssh ::ffff:192.168.1.11:53461 ESTABLISHED 

这是 /var/log/secure 的结尾

Oct 27 10:42:25 dev sshd[6169]: Accepted password for root from 192.168.1.17 port 53428 ssh2
Oct 27 10:42:25 dev sshd[6169]: pam_unix(sshd:session): session opened for user root by (uid=0)
Oct 27 10:45:08 dev sshd[6169]: Received disconnect from 192.168.1.17: 11: disconnected by user
Oct 27 10:45:08 dev sshd[6169]: pam_unix(sshd:session): session closed for user root
Oct 27 10:45:24 dev sshd[6208]: Accepted password for root from 192.168.1.17 port 53461 ssh2
Oct 27 10:45:24 dev sshd[6208]: pam_unix(sshd:session): session opened for user root by (uid=0)

答案1

如何修改 /etc/ssh/sshd_config。例如,您可以使用 ListenAddress 选择允许登录的 IP,或者您可以通过 AllowGroups 和 AllowUsers 限制登录。您可以使用 wtmp 或查看 /var/log/secure 查看过去的登录。

答案2

首先确认这确实是一个ssh连接:

netstat -antp | grep ESTABLISHED | grep :22

您应该在netstat输出中看到一个附加列,其中显示连接到该 TCP 会话的应用程序名称。如果不是,/usr/sbin/sshd那么这可能ssh根本不是一个会话。您应该调查哪个应用程序保持 TCP 会话处于打开状态。

如果是ssh会话,暂时停止ssh守护进程:

/sbin/service sshd stop

(我不是 CentOS 用户,如果出现错误表明服务sshd不存在,请尝试/sbin/service --list识别要使用的正确名称)。

再次检查netstat输出,查看连接是否仍然打开。如果是,请确保sshd守护进程已停止:

ps -A | grep -i ssh

确保没有sshd进程正在运行,然后重新检查netstat输出。如​​果仍有sshd进程,请尝试:

killall -KILL sshd

再次检查你的netstat输出。

这应该允许您在服务器端暂时关闭一切。

sshd您可以通过停止和禁用服务(如果不需要)或更改配置sshd以仅允许来自特定 IP 地址或 IP 地址范围的连接来更永久地阻止服务器端的连接。

但是,您还应该首先尝试识别与您的服务器建立连接的机器,并确保它没有安装任何可能用于启动连接的ssh相关软件。PuTTY

答案3

更新

sshd 显示上次登录的 IP 地址,但netstat打印当前的


以 root 身份运行以下命令:

echo "sshd: 192.168.1.11" >> /etc/hosts.deny

相关内容