温馨提示×

linux sftp如何连接

小樊
39
2026-09-02 00:41:43
栏目: 智能运维

在 Linux 下使用 SFTP(SSH File Transfer Protocol) 连接远程服务器,通常有以下几种常见方式。


一、使用命令行 sftp 连接(最常用)

1️⃣ 基本连接方式

sftp 用户名@远程主机IP

示例:

sftp user@192.168.1.100

如果是默认 22 端口,会直接连接;首次连接会提示是否接受密钥,输入 yes


2️⃣ 指定端口连接

如果 SSH 端口不是 22:

sftp -P 2222 user@192.168.1.100

⚠️ 注意:

  • sftp 用的是 大写 -P
  • ssh 用的是小写 -p

3️⃣ 使用密钥登录

sftp -i /path/to/private_key user@192.168.1.100

二、连接成功后的常用命令

进入 sftp 交互模式后:

pwd          # 查看远程当前目录
lpwd         # 查看本地当前目录

ls           # 查看远程文件
lls          # 查看本地文件

cd 目录      # 切换远程目录
lcd 目录     # 切换本地目录

get 文件     # 下载文件
put 文件     # 上传文件

get -r 目录  # 递归下载
put -r 目录  # 递归上传

exit / bye   # 退出

三、使用 SSH 配置简化连接(推荐)

编辑:

vi ~/.ssh/config

示例:

Host myserver
    HostName 192.168.1.100
    User user
    Port 2222
    IdentityFile ~/.ssh/id_rsa

之后直接:

sftp myserver

四、常见问题排查

❌ 连接超时

  • 检查 IP 是否正确
  • 检查防火墙 / 安全组
  • 确认 SSH 服务在运行:
systemctl status sshd

❌ Permission denied

  • 密码错误
  • 公钥未加入 ~/.ssh/authorized_keys
  • 目录权限问题(.ssh 权限应为 700)

❌ 无法使用 sftp

确保远程服务器安装了:

which sftp-server

/usr/lib/openssh/sftp-server

如果你愿意,可以告诉我:

  • 你是 客户端还是服务器
  • 用的是 密码还是密钥
  • 是否在 内网 / 云服务器

我可以给你更精确的连接方案。

0