Linux   发布时间:2022-04-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了linux – 拒绝SSH连接 – 使用故障恢复控制台进行调试大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

我已经发现了很多关于调试为什么无法通过SSH连接的问题,但是他们似乎都要求你仍然可以访问系统 – 或者说没有这一点就什么也做不了.就我而言,我无法直接访问系统,但我确实可以使用恢复控制台访问文件系统. 所以情况就是这样:我的提供商今天进行了一些内核更新,并且在此过程中也重启了我的服务器.由于某种原因,我不能再通过SSH连接,而是得到一个 ssh:连接到主机mydomain.de端口22:连接被拒绝
我已经发现了很多关于调试为什么无法通过SSH连接的问题,但是他们似乎都要求你仍然可以访问系统 – 或者说没有这一点就什么也做不了.就我而言,我无法直接访问系统,但我确实可以使用恢复控制台访问文件系统.

所以情况就是这样:我的提供商今天进行了一些内核更新,并且在此过程中也重启了我的服务器.由于某种原因,我不能再通过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

解决方法

连接被拒绝表明sshd没有运行.尝试从命令行以调试模式运行sshd以查看是否有任何错误消息.

/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目录存在.

大佬总结

以上是大佬教程为你收集整理的linux – 拒绝SSH连接 – 使用故障恢复控制台进行调试全部内容,希望文章能够帮你解决linux – 拒绝SSH连接 – 使用故障恢复控制台进行调试所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: