![SSH 尝试不登录 /var/log/](https://linux22.com/image/1361731/SSH%20%E5%B0%9D%E8%AF%95%E4%B8%8D%E7%99%BB%E5%BD%95%20%2Fvar%2Flog%2F.png)
我有一台 Ubuntu 12.04 服务器,其主机名分别为“example.org”和“sub.domain.com”,以及一些 IP xxxx,并已fail2ban
安装。
在一台客户端计算机上,我可以通过 SSH 连接到我的服务器[电子邮件保护],[电子邮件保护], 和[电子邮件保护]。但是,在另一个客户端上,我无法通过 SSH 进入[电子邮件保护]。
此外,在深入研究服务器/var/log/
文件后,没有发现第二个客户端尝试通过以下方式登录的日志:[电子邮件保护]这也很明显,因为fail2ban
不会在多次密码尝试失败后禁止第二个客户端[电子邮件保护]。
在第二个客户端上运行时,最后一条调试消息只是说客户端正在与服务器通话 - 然后被拒绝。ssh -vvv [email protected]
有什么方法可以让我进一步调试服务器上的问题,或者我遗漏了什么吗?
编辑:我还应该注意到,主机名在所有机器上都正确解析 - ping
、,nslookup
并且wget
所有机器在尝试解析 example.org 时似乎都正常工作。
答案1
为了更容易调试,请将 /etc/ssh/sshd_config 中的 LogLevel 指令设置为 Verbose 或 Debug(默认情况下为 Info)
答案2
由于您混淆了错误消息,因此很难判断真正的问题是什么。它们信息丰富、熟悉且比您的表述/解释更清晰。如果您有错误消息,请在请求支持时提供它们。
我认为,区别在于这些客户端计算机相对于服务器的位置。我猜其中一个是里面,而另一个在外部。
错误“-然后被拒绝。”意味着服务器没有监听该端口。也就是说,请求的 TCP 端口未绑定到请求接口(IP 地址)上的监听套接字。或者,这意味着 - 由于防火墙,客户端无法访问 xxxx 上的请求端口。
你必须:
a. 允许来自外部接口到达 TCP 端口 22
- iptables -A 输入 -p tcp --dport ssh -j 接受
b. 配置 sshd 在所有接口上监听(默认)或者在外部接口的 ip 上监听。
- 监听地址 xxxx (/etc/sshd/sshd_config)
如果您的 sshd 主机的外部接口具有与 example.org 解析的 IP 地址不同的 IP 地址,那么您就有一个 NAT。
c. 在路由器上设置伪装 (NAT)。
内部 IP=10.3.0.7 内部网络地址=255.255.255.224 内部=eth0 外部=wlan0 ifconfig $INTERNAL $INTERNAL_IP 网络掩码 $INTERNAL_NM 启动 echo 1 > /proc/sys/net/ipv4/ip_forward iptables -t nat -A POSTROUTING -o $EXTERNAL -s 10.3.0.0/24 -j MASQUERADE iptables -A FORWARD -i $EXTERNAL -o $INTERNAL -m 状态 \ --state 相关,已建立 -j 接受 iptables -A FORWARD -i $INTERNAL -o $EXTERNAL -j ACCEPT # -m state 最近已被弃用,因此你应该弄清楚 # 新的 NAT 方法是
为了得到正确的答案,请尝试使用以下内容更新您的问题:
- 真实的错误信息
- 真实地址
- xxxx = 10.xxx 还是 192.xxx ?
- xxxx是sshd监听的接口地址吗?(无需透露您的完整地址,只需提示子网)
- 如何获得“正确解析的主机名”?
- 你的客户(IP)在哪里?
參考文獻:Ubuntu iptables