我有一个我昨天做的Linode虚拟服务器。
基本上,我杀了sshd使用
killall sshd
我第一次发布这个命令,我忘记了sudo所以它就放弃了我的连接。
下次,我发了
sudo killall sshd
正如它所说的,我再也不能连接了
ssh: connect to host <...> port 22: Connection refused
现在, 我知道这很愚蠢 ,显然我必须尽快恢复。
我以为重新启动会解决这个问题 ,但是重新启动后(从Linode仪表板) 服务器甚至不能ping通 ,更不用说接受SSH。
发生了什么,我该如何解决?
显然,我现在没有root权限,但是我可以从另一台服务器访问本机的文件系统,并且可以随时重启。
使用Linode本地控制台在控制台上login到您的服务器,并找出出了什么问题。 我想不出任何特别的描述会导致你所描述的症状,所以你所做的其他事情现在已经导致你的问题,因为你已经重新启动了。
不通过IP地址ping是错误的IP地址,坏/陈旧的路由,防火墙阻塞。 不通过名称ping是一个DNS问题。
检查你的networking启动脚本..如果你不能访问控制台或login提示符,那么使用你的filessytem访问来禁用大部分的启动过程,并开始重新启用/重写启动networking的那些部分。
如何真正做到这一点是非常分布的具体..启动过程真正区分Linux发行版。
如果你可以得到一个login然后
sudo ifconfig -a sudo route -n sudo iptables -L sudo /etc/init.d/rc.d/networking restart
所有提供有趣的输出
我前一段时间写了一个名为sshd-monitor的应用程序来监视sshd是否正在运行,如果没有的话,重新启动它。 它正在使用期望来testing连接和一个crontab项来定期运行它。
我想你仍然可以在Mandriva或Mageia软件包仓库中find它。 例如,源代码可以从http://distrib-coffee.ipsl.jussieu.fr/pub/linux/MandrivaLinux/devel/cooker/SRPMS/main/release/sshd-monitor-0.3-9.src下载。转