答案是防火墙未放行SSH端口导致连接失败。首先确认CentOS的SSH服务已安装并运行,检查命令为systemctl status sshd;接着配置防火墙,使用firewall-cmd --permanent --add-service=ssh添加SSH服务,并重载规则;若修改了SSH端口,需通过--add-port指定对应端口;最后在Xftp中正确输入IP、端口、用户名和密码进行连接。
连接CentOS到Xftp,核心在于确保CentOS上的SSH服务配置正确且正常运行,然后Xftp作为客户端通过SFTP协议连接上去。这通常涉及到安装SSH服务器、配置防火墙放行,以及在Xftp中输入正确的连接信息。
要让你的CentOS能愉快地和Xftp握手,我们得一步步来,确保SSH服务在服务器端准备就绪。
-
检查并安装OpenSSH服务器:
- CentOS通常默认安装了OpenSSH,但万一没有,或者你需要更新,可以用这个命令:
sudo yum install openssh-server -y
- 安装完成后,确认SSH服务已经启动并设置为开机自启:
sudo systemctl start sshd sudo systemctl enable sshd
- 检查服务状态:
sudo systemctl status sshd
看到“active (running)”就对了。
- CentOS通常默认安装了OpenSSH,但万一没有,或者你需要更新,可以用这个命令:
-
配置SSH服务(可选但推荐):
- 编辑SSH配置文件。这是SSH服务的“大脑”,很多安全和行为都在这里定义。
/etc/ssh/sshd_config
sudo vi /etc/ssh/sshd_config
- 几个关键点,你可以根据需要调整:
-
: 这是SSH监听的端口。默认是22,如果你想改成别的端口增加一点点“隐蔽性”,可以在这里修改。
Port 22
-
: 允许root用户直接登录。出于安全考虑,很多时候建议设置为
PermitRootLogin yes
,然后通过普通用户登录后再no
切换到root。但对于个人测试环境,su -
可能更方便。yes
-
: 允许密码认证。如果你打算用SSH密钥对登录,可以考虑关闭它(设为
PasswordAuthentication yes
),那样更安全。no
-
- 修改后,记得重启SSH服务让配置生效:
sudo systemctl restart sshd
- 编辑SSH配置文件
-
配置防火墙放行SSH端口:
- CentOS 7及以后版本默认使用。你需要允许SSH服务通过防火墙。
firewalld
- 允许SSH服务(默认端口22):
sudo firewall-cmd --permanent --add-service=ssh
- 如果你修改了SSH端口(比如改成了2222),你需要单独放行那个端口:
sudo firewall-cmd --permanent --add-port=2222/tcp
(注意,如果同时启用了
且SSH端口不是22,可能会有冲突或不生效,最好只用--add-service=ssh
指定你实际使用的端口。)--add-port
- 重新加载防火墙规则:
sudo firewall-cmd --reload
- 允许SSH服务(默认端口22):
- 如果你用的是旧版CentOS或:
iptables
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT sudo service iptables save sudo service iptables restart
(不推荐在CentOS 7+上使用
,除非有特殊需求。)iptables
- CentOS 7及以后版本默认使用
-
在Xftp中连接:
- 打开Xftp,点击“新建”会话。
- 主机(Host): 输入你的CentOS服务器的IP地址或域名。
- 端口(Port): 如果你没改SSH端口,就填22;改了就填你修改后的端口。
-
用户名(User Name): 输入你在CentOS上的用户名(比如或你创建的普通用户)。
root
- 密码(Password): 输入对应用户的密码。
- 点击“连接”,如果一切顺利,你应该就能看到服务器的文件系统了。如果连接失败,别急,通常是上面哪一步出了点小岔子。
为什么我的Xftp连接CentOS总是失败?常见SSH配置陷阱与排查
这问题问得好,几乎每个初次接触的人都会遇到。我记得有一次,就是因为防火墙没开,折腾了半天,最后才发现是自己“想当然”了。连接失败的原因,无非就那么几种,我们来逐一排查。
-
防火墙是头号嫌疑犯: 这是最常见的坑。即使SSH服务运行得好好的,如果防火墙(无论是CentOS自带的还是云服务商的安全组)没有放行SSH端口(默认22),外部就根本连不进来。
firewalld
-
排查: 在CentOS上运行看看
sudo firewall-cmd --list-all
或services
里有没有ports
或者你自定义的SSH端口。如果没有,赶紧用`sudo firewall-cmd --permanent --add-service=ssh
-
排查: 在CentOS上运行
以上就是怎么让CentOS连接Xftp_CentOS配置SSH服务与Xftp连接教程的详细内容,更多请关注php中文网其它相关文章!
雪夜 
![[爱了]](/js/img/d1.gif)
![[尴尬]](/js/img/d16.gif)