linux

如何使用Linux SFTP进行远程登录

小樊
39
2025-10-31 23:12:51
栏目: 智能运维

一、前置准备:安装与配置SFTP服务

  1. 安装OpenSSH服务器
    大多数Linux发行版默认包含OpenSSH服务器(自带SFTP功能)。若未安装,可通过以下命令安装:

    • Debian/Ubuntu:sudo apt update && sudo apt install openssh-server
    • CentOS/RHEL:sudo yum install openssh-server
    • Fedora:sudo dnf install openssh-server
  2. 配置SFTP服务(可选但推荐)
    编辑SSH配置文件/etc/ssh/sshd_config,完成以下设置以增强安全性:

    • 确保SFTP子系统启用(默认已开启):Subsystem sftp /usr/lib/openssh/sftp-server(部分系统路径为/usr/libexec/openssh/sftp-server);
    • 限制用户访问(以sftpusers组为例):在文件末尾添加:
      Match Group sftpusers
          ChrootDirectory %h  # 限制用户只能访问自己的家目录
          ForceCommand internal-sftp  # 强制使用SFTP,禁止SSH shell访问
          AllowTcpForwarding no
          X11Forwarding no
      
    • 创建sftpusers组并添加用户:sudo groupadd sftpuserssudo usermod -aG sftpusers your_username
    • 设置家目录权限:sudo chown root:root /home/your_usernamesudo chmod 755 /home/your_username(用户家目录必须归root所有,权限为755)。
  3. 重启SSH服务
    应用配置变更:sudo systemctl restart sshd(Debian/Ubuntu用ssh替代sshd)。

二、使用SFTP连接远程服务器

  1. 命令行连接
    基本语法:sftp [选项] 用户名@远程主机。常见场景:

    • 默认端口(22)连接:sftp your_username@remote_host(如192.168.1.100或域名);
    • 指定端口连接(如22806):sftp -oPort=22806 your_username@remote_host
      输入密码后,进入SFTP交互界面(提示符为sftp>)。
  2. 图形界面连接(可选)
    若偏好图形操作,可使用以下工具:

    • FileZilla(跨平台):打开后输入远程主机、用户名、端口,选择SFTP协议即可连接;
    • WinSCP(Windows):类似FileZilla,支持拖拽文件传输;
    • Cyberduck(Mac):支持SFTP、FTP等多种协议。

三、SFTP常用命令 连接成功后,可通过以下命令完成文件操作:

四、安全注意事项

0
看了该问题的人还看了