插件窝 干货文章 linux怎么判断是否开启了sftp

linux怎么判断是否开启了sftp

SFTP 服务 SSH 方法 73    来源:    2025-05-03

判断Linux系统是否开启了SFTP服务的方法

SFTP(SSH File Transfer Protocol)通常是通过SSH服务提供的,以下是几种判断SFTP是否可用的方法:

方法一:检查SSH服务是否运行

SFTP通常是SSH服务的一部分,所以首先检查SSH服务状态:

systemctl status sshd
# 或
service ssh status

如果SSH服务正在运行,通常SFTP也是可用的。

方法二:检查SSH配置中的SFTP设置

查看SSH配置文件/etc/ssh/sshd_config中是否有SFTP相关的配置:

grep -i sftp /etc/ssh/sshd_config

常见的SFTP相关配置行可能包括:

Subsystem sftp /usr/lib/openssh/sftp-server
# 或较新版本
Subsystem sftp internal-sftp

方法三:尝试连接SFTP

可以直接尝试连接SFTP来测试:

sftp localhost

如果提示输入密码或显示连接信息,则说明SFTP服务可用。

方法四:检查监听的端口

netstat -tulnp | grep sshd
# 或
ss -tulnp | grep sshd

如果看到22端口(默认SSH端口)在监听,通常SFTP也是可用的。

方法五:检查SFTP日志

查看系统日志中是否有SFTP相关的记录:

journalctl -u sshd | grep sftp
# 或
grep sftp /var/log/auth.log

方法六:使用telnet测试

telnet localhost 22

如果连接后显示SSH版本信息,则SSH(和SFTP)服务正在运行。

注意事项

  1. 大多数现代Linux发行版默认安装并启用SSH/SFTP服务
  2. 如果SSH服务运行但SFTP不可用,可能是配置文件中禁用了SFTP子系统
  3. 某些系统可能使用不同的SFTP实现(如vsftpd的SFTP模块),需要检查相应的服务

如果确定需要开启SFTP,通常只需要确保SSH服务运行并在配置文件中启用SFTP子系统即可。