所以情况就是这样:我的提供商今天进行了一些内核更新,并且在此过程中也重启了我的服务器.由于某种原因,我不能再通过SSH连接,而是得到一个
ssh:连接到主机mydomain.de端口22:连接被拒绝
我不知道sshd是否没有运行,或者是否某些东西(例如iptables)阻止了我的ssh连接尝试.我查看了日志文件,/ var / log中没有任何文件包含ssh上的任何文件,而/var/log/auth.log是空的.在内核更新之前,我可以登录好的和使用过的证书,这样每次从本地机器连接时都不需要密码.
到目前为止我尝试了什么:
>我在/etc/rc*.d/中查找了/etc/init.d/ssh脚本的链接,但没有找到.所以我期待sshd在启动时没有正确启动.由于我无法在我的系统中运行任何程序,因此我无法使用update-rc来更改它.我尝试使用ln -s /etc/init.d/ssh /etc/rc6.d/K09sshd手动创建链接并重新启动服务器 – 这不能解决问题.我不知道是否可以这样做,以及在rc6.d中创建它是否正确以及K09是否正确.我只是从apache复制了它.
>我也尝试更改我的/etc/iptables.rules文件以允许所有内容:
# Generated by iptables-save v1.4.0 on Thu Dec 10 18:05:32 2009 *mangle :PREROUTING ACCEPT [7468813:1758703692] :INPUT ACCEPT [7468810:1758703548] :FORWARD ACCEPT [3:144] :OUTPUT ACCEPT [7935930:3682829426] :POSTROUTING ACCEPT [7935933:3682829570] COMMIT # Completed on Thu Dec 10 18:05:32 2009 # Generated by iptables-save v1.4.0 on Thu Dec 10 18:05:32 2009 *filter :INPUT ACCEPT [7339662:1665166559] :FORWARD ACCEPT [3:144] :OUTPUT ACCEPT [7935930:3682829426] -A INPUT -i lo -j ACCEPT -A INPUT -p tcp -m tcp --dport 25 -j ACCEPT -A INPUT -p tcp -m tcp --dport 993 -j ACCEPT -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT -A INPUT -p tcp -m tcp --dport 143 -j ACCEPT -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT -A INPUT -p tcp --dport 8080 -s localhost -j ACCEPT -A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied: " --log-level 7 -A INPUT -j ACCEPT -A FORWARD -j ACCEPT -A OUTPUT -j ACCEPT COMMIT # Completed on Thu Dec 10 18:05:32 2009 # Generated by iptables-save v1.4.0 on Thu Dec 10 18:05:32 2009 *nat :PREROUTING ACCEPT [101662:5379853] :POSTROUTING ACCEPT [393275:25394346] :OUTPUT ACCEPT [393273:25394250] COMMIT # Completed on Thu Dec 10 18:05:32 2009
我不确定这是否正确完成或有任何影响.我也没有在/ var / log中的任何文件中找到任何提及iptables的内容.
那么我还能做些什么呢?
谢谢您的帮助.
p.s.:按照lain的建议添加crontab行后,我可以在文件/var/logauth.log中找到以下内容
Mar 7 21:13:58 mysubdomain sshd[64900]: debug1: sshd version OpenSSH_5.3p1 Debian-3ubuntu5 Mar 7 21:13:58 mysubdomain sshd[64900]: debug1: read PEM private key done: type RSA Mar 7 21:13:58 mysubdomain sshd[64900]: debug1: Checking blacklist file /usr/share/ssh/blacklist.RSA-2048 Mar 7 21:13:58 mysubdomain sshd[64900]: debug1: Checking blacklist file /etc/ssh/blacklist.RSA-2048 Mar 7 21:13:58 mysubdomain sshd[64900]: debug1: private host key: #0 type 1 RSA Mar 7 21:13:58 mysubdomain sshd[64900]: debug1: read PEM private key done: type DSA Mar 7 21:13:58 mysubdomain sshd[64900]: debug1: Checking blacklist file /usr/share/ssh/blacklist.DSA-1024 Mar 7 21:13:58 mysubdomain sshd[64900]: debug1: Checking blacklist file /etc/ssh/blacklist.DSA-1024 Mar 7 21:13:58 mysubdomain sshd[64900]: debug1: private host key: #1 type 2 DSA
解决方法
/usr/sbin / sshd -f / etc / ssh / sshd_config -D -d
编辑:
由于您无权运行上述内容,请尝试将其放入@reboot cron作业中
加
@reboot root /bin/mkdir -p -m0755 /var/run/sshd && /usr/sbin/sshd -f /etc/ssh/sshd_config -d &>/var/log/sshd_debug
进入/ etc / crontab
Ubuntu sshd要求/ var / run / sshd目录存在.