Fedora:SSH 连接被拒绝

Fedora:SSH 连接被拒绝

我正在尝试通过 ssh 将我的 Ubuntu 主机连接到 Fedora 笔记本电脑,以便通过以太网共享文件。我已经在 Fedora 上启动了 OpenSSH 服务器(通过service sshd start),并且我已经执行了命令iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT以允许传入的 ssh 连接。此外,服务器上的 IPv4 地址由 设置ifconfig enp2s0f0 192.168.10.10 netmask 255.255.255.0 up。但每当我输入ssh -A -Y 192.168.10.10ssh -4 192.168.10.10; 时,我总是收到一条错误消息,显示“ssh:连接到主机 192.168.10.10 端口 22:连接被拒绝”,即使在使用 禁用防火墙后也是如此service iptables stop

iptables -n -L -vFedora 上的输出显示:

链输入(策略接受 11652 个数据包,2859K 字节)数据包字节目标协议选择加入退出源目标

链转发(策略接受 0 个数据包,0 字节)数据包字节目标协议选择加入退出源目标

链输出(策略接受 11759 个数据包,1665K 字节)数据包字节目标协议选择加入退出源目标

iptables -n -L -vubuntu 上的输出显示:

链输入(策略接受 210K 数据包,16M 字节)数据包字节目标协议选择源目标

链转发(策略接受 0 个数据包,0 个字节)pkts 字节目标 prot opt 源目标

链输出(策略接受 209K 数据包,15M 字节)数据包字节目标协议选择源目标

route -n在服务器中执行,给出以下输出:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.10.0    0.0.0.0         255.255.255.0   U     0      0        0 enp2s0f0
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0

在 Ubuntu 客户端机器中执行sudo route -n,给出以下输出:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.10.1    0.0.0.0         UG    100    0        0 enp14s0
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 enp14s0
192.168.10.0    0.0.0.0         255.255.255.0   U     100    0        0 enp14s0

ip r在客户端机器上:

default via 192.168.10.1 dev enp14s0  proto static  metric 100 
169.254.0.0/16 dev enp14s0  scope link  metric 1000 
192.168.10.0/24 dev enp14s0  proto kernel  scope link  src 192.168.10.10  metric 100 

arping -I enp14s0 192.168.10.10在客户端机器上,卡在:

ARPING 192.168.10.10 from 192.168.10.10 enp14s0

输出sudo tcpdump -n -i any port 22

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on any, link-type LINUX_SLL (Linux cooked), capture size 262144 bytes
01:09:28.363302 IP 192.168.10.10.58906 > 192.168.10.10.22: Flags [S], seq 506055200, win 43690, options [mss 65495,sackOK,TS val 33913 ecr 0,nop,wscale 7], length 0
01:09:28.363357 IP 192.168.10.10.58906 > 192.168.10.10.22: Flags [R.], seq 0, ack 506055201, win 0, length 0
01:09:28.354895 IP 192.168.10.10.58906 > 192.168.10.10.22: Flags [S], seq 2349767060, win 43690, options [mss 65495,sackOK,TS val 34911 ecr 0,nop,wscale 7], length 0
01:09:28.354948 IP 192.168.10.10.22 > 192.168.10.10.58908: Flags [R.], seq 0, ack 2349767061, win 0, length 0

有人有什么主意吗?

非常感谢您的帮助。

答案1

我假设您想要连接到enp2s0f0服务器的接口(所有其他接口(环回接口除外)都是DOWN)。

从日志中您可以看到该接口上的 DHCP 请求超时。从输出中ip a您可以看到该接口只有一个 IPv6 链路本地地址。

您应该修复 DHCP 或手动为接口分配 IPv4 地址 ( ip addr add x.x.x.x/24 dev enp2s0f0)。或者,您也可以使用 IPv6。

编辑:更多问题:

  • 这两台机器是直接相连的吗?
  • ip a您能告诉我们有关客户端的更多信息吗? 、ip riptables-save客户端上输出什么?
  • iptables-save服务器上输出什么?请注意,iptables -vnL不会打印所有规则。
  • 您能从客户端 ping 服务器吗?(例如ping 192.168.10.10
  • 您能从客户端对服务器进行 arp ping 操作吗?(例如arping -I eth0 192.168.10.10)您收到回复了吗?回复中的 MAC 地址正确吗?(应该是20:89:84:77:4b:2a)。
  • 如果您在服务器上运行 tcpdump(tcpdump -n -i any port 22)并尝试 ssh-ing,tcpdump 会输出什么?

编辑 2:您的客户端和服务器应具有不同的 IP 地址。将客户端设置为 192.168.10.9,将服务器设置为 192.168.10.10。

答案2

我认为您的规则永远不会被达到,因为 REJECT 规则(就在之前)适用于所有与前面的规则不匹配的数据包。

如果你使用会发生什么:

iptables-I INPUT 1-p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT

(即在表格开头插入规则)

编辑:更多建议

  • 检查 sshd 是否正在监听:

    ss --tcp --listening -n -p
    
  • -v在显示 iptables 时添加选项(这会为每个规则添加一个数据包计数,以便您可以看到使用了哪一个)

  • 尝试 IPv4 和 IPv6(使用命令的-4选项)-6ssh

答案3

我认为您正在尝试连接到错误的 IP。

在 ss 命令中,您会看到类似“本地地址”192.168.122.1 的内容,但您尝试连接到 IP 192.168.10.10。

ip a你能给我们提供一下服务器的网络配置吗?如果你把服务器执行的整个输出粘贴上去就足够了。

相关内容