我有一个服务器运行centOS 5; GLAMP。 这是一个本地设置 – 不能外部访问。
netstat从LAN上的一台机器上显示一个ESTABLISHED ssh连接。 这台机器正在运行XP,并没有什么利用SSH:
# netstat | grep tcp tcp 0 0 dev.test.local:ssh ::ffff:192.168.1.11:51486 ESTABLISHED
我试过的东西:
一个有趣的笔记:当我正在调查hping尝试和核实连接时,我注意到机器不会响应hping – 100%的数据包丢失。 但是,正常的ping按预期工作。 因此,hping -F主机不工作,因为由于某种原因,hping没有到达主机。
这一切都试图破译为什么突然间apache似乎如此缓慢。 最近networking发生了变化,但没有任何东西会影响局域网的这一部分。 我不知道这是问题的一部分,但是我需要消除一个variables。
任何想法如何我可以杀死这个连接?
更新;
好的,事实certificate,我不能杀死它,因为这是我的壳! 但是,由于某种原因,并没有反映出我的IP地址。 但是,当我连接时,它说我的最后一次login来自正确的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)
如何修改/ etc / ssh / sshd_config。 例如,您可以select允许使用ListenAddresslogin的IP,也可以通过AllowGroups和AllowUsers限制login。 您可以使用wtmp或通过查看/ var / log / secure来查看以前的login。
首先,确认这实际上是一个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输出。
这应该允许你在服务器端暂时closures一些东西。
如果不需要,可以通过停止和禁用sshd服务,或者通过更改sshdconfiguration以仅允许来自特定IP地址或IP地址范围的连接来更好地永久阻止服务器端的连接。
但是,您也应该尝试识别已连接到服务器的机器,并确保它没有任何与可能用于启动连接的PuTTY相关的ssh相关软件。
UPDATE
sshd显示上次login的IP地址,但是netstat打印当前的IP地址。
以root身份运行以下命令:
echo "sshd: 192.168.1.11" >> /etc/hosts.deny