我有一个主机,我正在努力允许远程访问 – 每次我尝试连接,我得到连接拒绝。
关于目标,我已经检查了端口是否打开:
Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:2222 0.0.0.0:* LISTEN 47081/sshd
并在sshd_config我已经设置两个允许的用户和匹配permitrootlogin:
AllowUsers [email protected] PermitRootLogin no Match Address 1.2.3.4 PermitRootLogin yes
当我尝试从1.2.3.4连接时,我使用以下方法拒绝连接:
ssh -vv [email protected] -p 2222
响应:
# ssh -vv [email protected] -p 2222 OpenSSH_5.3p1, OpenSSL 1.0.1e-fips 11 Feb 2013 debug1: Reading configuration data /etc/ssh/ssh_config debug1: Applying options for * debug2: ssh_connect: needpriv 0 debug1: Connecting to 5.6.7.8 [5.6.7.8] port 2222. debug1: connect to address 5.6.7.8 port 2222: Connection refused ssh: connect to host 5.6.7.8 port 2222: Connection refused
5.6.7.8中的/ var / log / secure或/ var / log / messages中没有任何内容表示被拒绝的原因
SELinux被禁用,CSF被禁用,中间没有其他的防火墙。
我可以从我的桌面连接到5.6.7.8:2222没有任何问题,但不是从另一个主机(我试过2个不同的远程主机) – 我错过了什么?
在服务器上运行tcpdump或tshark并尝试从1.2.3.4连接。
你是否看到1.2.3.4的一个SYN后跟一个ICMP数据包返回到1.2.3.4? 那么问题出在服务器上。
你在捕获中看不到SYN吗? 然后path中的东西阻塞了SYN,或者1.2.3.4上的东西。
尝试连接桌面和其他主机的详细问题,看看有什么不同的输出:
ssh -vvv [email protected] -p 2222
如果没有显示足够的信息,请在服务器上启动sshd服务
$(which sshd) -d -p 2222
这将提供更多的产出。 如果没有给出明确的答案,请检查两个主机上的ssh版本,如果版本不同,可能会出现版本不兼容的情况。