SSHD_CONFIG 在反向 SSH 设置中不断损坏

SSHD_CONFIG 在反向 SSH 设置中不断损坏

我有一个反向 SSH 设置来穿越难以穿透的 CGN NAT。它运行良好,但 NAT 后面的客户端上的 SSHD 守护进程不断因未知原因而死亡(无法启动)。客户端成功与我的服务器建立反向 SSH 连接(使用公私密钥对),但是一旦我尝试反向 SSH 连接到 NAT 客户端,我得到:


在职的:

user@server:~$ ssh [email protected] -p 22424
[email protected]'s password:

Linux NATed-client 3.12.22+ #691 PREEMPT Wed Jun 18 18:29:58 BST 2014 armv6l

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Sat Dec 13 16:41:16 2014 from localhost

user@NATed-client ~ $

有缺陷的:

user@server:~$ ssh [email protected] -p 22424
ssh_exchange_identification: Connection closed by remote host

我将此反向 SSH 脚本设置为以标准用户身份每 15 分钟在 NAT 客户端的 crontab 中运行一次:

#!/bin/bash
createTunnel() {
    /usr/bin/ssh -i /home/ssh_user_NATed_client/.ssh/NATed_Client_key \
        -N -R 22424:localhost:22 [email protected] \
        -o ExitOnForwardFailure=yes 
    if [[ $? -eq 0 ]]; then
        echo Tunnel created
    else
        echo An error occurred creating a tunnel. RC was $?
    fi
}
/bin/pidof ssh
if [[ $? -ne 0 ]]; then
    echo Creating new tunnel connection
    createTunnel
fi

发生这种情况后,我在 NAT 客户端上打开了该sshd_config文件,但它是难以理解的乱码。当我用备份替换它时sshd_config,一切都会恢复正常。就好像sshdNAT 客户端上的 NAT 客户端随机修改了配置文件,然后无法sshd启动(导致反向 SSH 连接上请求的 SSH 会话像这样关闭)。过去 6 个月内,这种情况已发生 3 次。文件权限为:

$ ls -l ssh_config
-rw-r--r-- 1 root root   1669 Feb  8  2013 ssh_config

NAT 客户端计算机仍在运行。它通过 crontab 每 15 分钟建立一次反向 SSH 连接,我编写的其他自动功能仍然有效。我只是无法控制它或通过反向连接通过 SSH 回到它。我非常确定 NAT 客户端上的 SSH 主机/服务器已死亡/拒绝在启动时启动。

我要指出的是,它是一个在 32GB SD 卡上运行的树莓派。它已经运行了大约6个月。可能是闪存磨损,但没有内核恐慌(无论如何很少写入闪存)。

有什么建议的解决方法或可以在这个系统上安装辅助 SSH 后门吗?这些随机的sshd死亡快要了我的命。

感谢您的见解。

相关内容