Linux 阻止与 SSH 服务的端口转发连接

Linux 阻止与 SSH 服务的端口转发连接

我正在尝试从我的网络(Internet)外部连接到我的计算机的 SSH 服务。路由器是 Sagemcom 5655。在路由器中,我配置了端口转发,就像我一生中多次做的那样,但这次不起作用。

协议:TCP 外部端口:9092 转发到内部端口:22 内部地址:192.168.1.141

SSH 服务器正在运行,我几乎每天都在本地网络上使用它。但是当我尝试从外部连接时,什么也没有发生。

这是我连接服务器的方式:我的用户@互联网地址-p 9092

我唯一看到的是登录/var/log/audit/audit.log我不明白:

type=CRYPTO_KEY_USER msg=audit(1574265360.622:648): pid=6212 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:sshd_t:s0-s0:c0.c1023 msg='op=destroy kind=server fp=SHA256:eb:31:df:3b:11:5f:0f:b8:ae:5a:84:65:58:4b:b1:83:48:d8:9a:d3:d6:1c:42:45:d3:9e:2a:3f:75:79:e6:7b direction=? spid=6212 suid=0  exe="/usr/sbin/sshd" hostname=? addr=? terminal=? res=success'UID="root" AUID="unset" SUID="root"
type=CRYPTO_KEY_USER msg=audit(1574265360.622:649): pid=6212 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:sshd_t:s0-s0:c0.c1023 msg='op=destroy kind=server fp=SHA256:25:0f:2c:39:d4:e0:e1:31:fa:cf:4a:2c:4d:1c:91:17:05:b2:94:5c:00:75:6e:28:76:3c:0d:18:48:a3:a3:93 direction=? spid=6212 suid=0  exe="/usr/sbin/sshd" hostname=? addr=? terminal=? res=success'UID="root" AUID="unset" SUID="root"
type=CRYPTO_KEY_USER msg=audit(1574265360.622:650): pid=6212 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:sshd_t:s0-s0:c0.c1023 msg='op=destroy kind=server fp=SHA256:17:2e:8f:02:82:78:ac:ed:eb:06:dd:93:6c:1a:a2:bc:4d:74:ee:c0:18:c1:23:39:5c:e1:a1:0d:04:9a:b6:98 direction=? spid=6212 suid=0  exe="/usr/sbin/sshd" hostname=? addr=? terminal=? res=success'UID="root" AUID="unset" SUID="root"

我的 Fedora 机器上的 SE Linux 之类的东西是否有可能阻止连接?

我检查了/etc/ssh/sshd_config没什么奇怪的。另外,我正在尝试与普通用户建立联系不是根。

这是输出iptables -nvL 输入

 pkts bytes target     prot opt in     out     source               destination         
21396   14M LIBVIRT_INP  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
16280   14M ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            ctstate RELATED,ESTABLISHED
  181 12188 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0           
 4935  271K INPUT_direct  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
 4935  271K INPUT_ZONES  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
   13   520 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0            ctstate INVALID
 1582 80252 REJECT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            reject-with icmp-host-prohibited

当我进入路由器的管理系统时,我可以看到“公共 IP 地址”为 200.80.*.***(* 只是我隐藏的数字,而不是通配符!)。我还看到我的路由器配置为回复 PING。但是当我 ping 或端口扫描该 IP 时,什么也没发生。

我也测试了从外部连接,将我的笔记本电脑从手机的互联网连接连接到 4G。结果相同。

谢谢!

答案1

尝试将你的sshd进程置于详细日志记录模式(例如LogLevel VERBOSE/etc/ssh/sshd_config)在您的终端上,然后查看/var/log/auth.log(对于 Ubuntu —— Redhat 衍生版本可能是一个不同的文件)。这应该指向涉及 authorized_keys 文件的任何公钥错误、协议、密码或文件/目录权限错误。

其次,在端点上,安装tcpdump并让其监听端口 22(或任何有守护进程的端口)上的 ssh 流量,如下所示:tcpdump -nn -s0 -A port 22。这将告诉您连接到该端口的内容,无论防火墙或 SELinux 是否存在问题。

尝试连接。这两部分应该可以提示问题所在。如果tcpdump没有任何反应,则说明您的路由器未正确转发连接,或者中间有另一个跳跃阻止了连接。

答案2

最后我读到了CG网络地址转换结果是我的 ISP 使用了该技术。我打电话给 ISP 并要求一个公共 IP 地址,24 小时后一切正常。

感谢您提供的所有帮助!

相关内容