Geek0ne | 极客时空 | 极客IT技术栈

Linux服务器SFTP无法连接登录

故障描述

日常运维测试的一台Alma Linux 9.4环境,使用SSH远程正常使用;但需要传输文件时,发现SFTP服务不可用,测试多个SSH远程工具都不能正常显示文件资源,也不能上传下载。

解决方案

经排查调试,非系统防火墙拦截,非SELinux阻断问题,更非端口及服务运行问题,属sshd配置文件的原因。

  1. 将sshd配置文件/etc/ssh/sshd_config中的/usr/libexec/openssh/sftp-server信息更改为 OpenSSH 内置的 SFTP 服务器。
sudo vim /etc/ssh/sshd_config
Subsystem      sftp    /usr/libexec/openssh/sftp-server
# 将其修改为:
Subsystem      sftp    internal-sftp

  1. 然后重启sshd服务
sudo systemctl restart sshd
  1. 最后再重新连接终端等登录会话,SFTP服务已恢复正常,在权限正确的目录下即可正常上传和下载。

Ex: SFTP-ClI使用

sftp user@hostname

连接成功后,可以使用以下命令进行文件操作:

有许多图形化的 SFTP 客户端工具,如:

总结

  1. 为什么会出现这种问题呢?

某些情况下,内置 SFTP 服务器不依赖于外部路径,避免了路径配置错误或文件权限问题。外部的 sftp-server 可能会有兼容性问题或配置错误,导致 SFTP 服务无法正常工作,使用 internal-sftp 则可以避免这些问题出现额概率。且internal-sftp 通常与 OpenSSH 的其他组件更好地集成,可提供更好的性能和兼容性。

  1. Ex:两种服务器配置有什么异同或优缺点呢?

部分参考来源:https://halo.sherlocky.com/archives/linuxfu-wu-qi-wu-fa-lian-jie-sftp

当前页面是本站的「Google AMP」版。查看和发表评论请点击:完整版 »