首页主机资讯CentOS SFTP如何进行远程管理

CentOS SFTP如何进行远程管理

时间2026-01-19 10:25:04发布访客分类主机资讯浏览435
导读:CentOS SFTP 远程管理实操指南 一 环境准备与基础配置 安装并启动 OpenSSH 服务器:sudo yum install -y openssh-server && sudo systemctl start s...

CentOS SFTP 远程管理实操指南

一 环境准备与基础配置

  • 安装并启动 OpenSSH 服务器sudo yum install -y openssh-server & & sudo systemctl start sshd & & sudo systemctl enable sshd
  • 防火墙放行 SSH 22/TCPsudo firewall-cmd --permanent --add-service=ssh & & sudo firewall-cmd --reload
  • 验证服务与连通性:sudo systemctl status sshd;客户端可用 sftp your_user@your_server_ip 测试连接。

二 安全加固的 SFTP 专用账户与目录

  • 创建 sftpusers 组与专用账户(禁止 Shell 登录,仅允许 SFTP):
    • sudo groupadd sftpusers
    • sudo useradd -g sftpusers -d /upload -s /sbin/nologin sftpuser
    • sudo passwd sftpuser
  • 规划目录结构(示例以 /data/sftp 为 SFTP 根):
    • sudo mkdir -p /data/sftp/upload
    • sudo chown root:sftpusers /data/sftp & & sudo chmod 755 /data/sftp
    • sudo chown sftpuser:sftpusers /data/sftp/upload & & sudo chmod 755 /data/sftp/upload
  • 关键权限规则(Chroot 要求):
    • ChrootDirectory 指定的目录及其所有上级目录的属主必须为 root,且只允许属主写,权限不超过 755(如 701/755)。
    • 可写目录放在 Chroot 目录下的子目录中,并单独赋权给相应用户/组。

三 配置 SSHD 启用 internal-sftp 与访问控制

  • 编辑 /etc/ssh/sshd_config,在文件末尾加入(可按用户或用户组匹配):
    • 按用户示例:
      Match User sftpuser
          ChrootDirectory /data/sftp
          ForceCommand internal-sftp
          AllowTcpForwarding no
          X11Forwarding no
          PermitTTY no
      
    • 按组示例:
      Match Group sftpusers
          ChrootDirectory %h
          ForceCommand internal-sftp
          AllowTcpForwarding no
          X11Forwarding no
      
  • 建议启用 internal-sftp(现代系统自带,便于 Chroot 与权限控制):
    • 将原有的 Subsystem sftp /usr/libexec/openssh/sftp-server 注释或替换为:
      Subsystem sftp internal-sftp
  • 语法检查与生效:
    • sudo sshd -t(配置文件语法检查)
    • sudo systemctl restart sshd
  • 说明:使用 Match 段可实现“仅 SFTP、禁 Shell、禁端口转发”等集中管控。

四 客户端连接与常用操作

  • 口令登录:sftp sftpuser@your_server_ip,按提示输入密码。
  • 密钥登录(推荐):
    • 客户端生成密钥:ssh-keygen -t rsa -b 2048
    • 上传公钥:ssh-copy-id sftpuser@your_server_ip
    • 服务器端如需显式允许密钥:sudo vi /etc/ssh/sshd_config 中设置 PasswordAuthentication no(可选,确保已有可用公钥后再关闭密码)。
  • SFTP 常用命令:
    • 远程:lscdpwd
    • 本地:lcdllslpwd
    • 传输:put local_fileget remote_file
    • 退出:exit/bye

五 常见问题排查与安全建议

  • 无法登录或立即断开:多为 Chroot 目录权限不合规。确保 Chroot 及其上级目录属主为 root、权限 ≤ 755,可写目录放在子目录并单独赋权。
  • 启动失败或配置不生效:执行 sudo sshd -t 检查语法;sudo systemctl status sshdjournalctl -xeu sshd 查看详细错误。
  • 日志审计:登录与 SFTP 操作记录在 /var/log/secure,可用于安全审计与问题定位。
  • 安全建议:
    • 优先使用 SSH 密钥,必要时再启用口令;禁用不必要的 AllowTcpForwardingX11ForwardingPermitTTY
    • 仅开放 22/TCP,并通过防火墙限制来源 IP。
    • 遵循最小权限原则与目录权限规范,定期更新系统与 SSH。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: CentOS SFTP如何进行远程管理
本文地址: https://pptw.com/jishu/785575.html
centos informix性能怎样 nginx如何配置自动重启

游客 回复需填写必要信息