服务器与大带宽专家 · 持牌IDC/CDN/ISP服务商
简米科技官网JIANMI TECH
资讯 2026-10-14 更新于 2026-10-14 简米科技 3,869 字 9 分钟阅读

如何配置sftp访问虚拟机?用户名密码怎么设?

导读配置虚拟机SFTP访问,核心分三步:宿主机网络打通、虚拟机开启SSH服务、设置账号密码,下面按步骤拆解,从零开始把每个环节说透,保证照着做就能连上,虚拟机sftp连接不上?先搞懂这几个前提很多新手卡在第一步:虚拟机装了,密码设了,但用客户端就是连不上去,大多数情况不是密码错,是网络模式和IP地址没搞明白,检查网……

配置虚拟机SFTP访问,核心分三步:宿主机网络打通、虚拟机开启SSH服务、设置账号密码。下面按步骤拆解,从零开始把每个环节说透,保证照着做就能连上。

虚拟机sftp连接不上?先搞懂这几个前提

很多新手卡在第一步:虚拟机装了,密码设了,但用客户端就是连不上去,大多数情况不是密码错,是网络模式和IP地址没搞明白。

检查网络连通性

  • 桥接模式:虚拟机和宿主机会在同网段,直接访问虚拟机IP即可,但IP可能因路由器分配而变动。
  • NAT模式:VMware/VirtualBox默认用NAT时,虚拟机对外不可见,需要配置端口转发才能用SFTP连接。
  • 仅主机模式:只能宿主机访问虚拟机,适合测试环境,其他机器进不来。

检查方法很简单,在宿主机打开命令行,执行:

ping 虚拟机IP

能通,说明网络没问题,不通,优先检查虚拟机防火墙和VMware的网络设置。

虚拟机的SSH服务是否在运行

SFTP依赖SSH服务,没有开启一切白搭,执行:

sudo systemctl status sshd

没启动就:

sudo systemctl start sshd
sudo systemctl enable sshd  # 设置开机自启

VMware虚拟机sftp配置教程:从安装到连接

以下以Ubuntu 22.04 LTS在VMware Workstation上运行为例,其他发行版命令基本通用。

安装并配置SSH服务

如果没有安装openssh-server(现象是提示找不到sshd服务),先安装:

sudo apt update
sudo apt install openssh-server -y

安装完成后,检查SSH默认端口(22)没有冲突,修改端口可以编辑/etc/ssh/sshd_config文件:

sudo nano /etc/ssh/sshd_config

找到#Port 22,去掉注释,改成想要的端口,改完记得重启服务:

sudo systemctl restart sshd

防火墙放行端口

Ubuntu默认装了ufw防火墙,可能把22端口或自定义端口挡了,执行:

sudo ufw allow 22/tcp
sudo ufw reload

如果改了端口,把22换成你设置的端口号。

如何配置sftp访问虚拟机?用户名密码怎么设?

sftp用户名密码设置方法:三种典型场景

用户名密码的设置方式取决于你希望谁登录,下面是常见方案对比:

场景 命令 特点
新建专用SFTP用户目录 sudo useradd -m sftp_user 隔离账户,不能登录Shell
给现有普通用户开放SFTP 直接使用现有账号密码 权限较大,有安全风险
限制只能SFTP不能SSH登录 修改sshd配置Match组 安全隔离,生产环境推荐

新建专用账号:最省心的做法

创建用户并设置密码:

sudo useradd -m sftpuser
sudo passwd sftpuser

按提示输入两遍密码,就完成了,账号sftpuser,密码是你刚才输入的,就这么简单。

但这里有个坑:普通账号默认能SSH登录,如果你只想让它传文件,需要在sshd_config末尾追加:

Match User sftpuser
    ForceCommand internal-sftp
    ChrootDirectory /home/sftpuser
    ProhibitPasswordAuthentication no

追加后重启sshd,这样该账号只能用SFTP,且被锁定在自己的home目录里,安全性高不少。

用已有的sudo用户连SFTP

日常开发中最常用,直接拿虚拟机里已有的用户名和密码连,比如虚拟机用户名是dev,密码是123456,打开WinSCP或FileZilla,填dev和123456就能进。

但要注意,自己的家目录可能没有写权限,特别是用Nginx的www目录时,需要加到www-data组:

sudo usermod -a -G www-data dev

否则上传文件时会报Permission denied。

把密码改成更安全的登录方式

密码总有泄露风险,更推荐用密钥登录,在本机生成密钥对:

ssh-keygen -t rsa -b 4096

然后复制公钥到虚拟机:

ssh-copy-id dev@虚拟机IP

之后就可以用密钥登录SFTP,连密码都不用输,比纯密码方案安全一个量级。

本地SFTP服务器配置与连接实测

服务端配好了,客户端怎么连?以FileZilla为例:

  1. 打开FileZilla,主机栏填sftp://虚拟机IP,端口填22(或自定义端口)
  2. 如何配置sftp访问虚拟机?用户名密码怎么设?

  3. 用户名填刚创建的sftpuser,密码填你设的密码
  4. 点击快速连接,就能看到右侧虚拟机的目录树

连接成功后,直接把左边本地文件拖到右边,就是上传,上传速度快慢取决于虚拟机的磁盘IO和宿主机带宽,内网环境下通常能跑满千兆。

本地服务器和虚拟机sftp哪个效率高

这里做个对比,帮你选合适方案:

对比项 本地服务器SFTP 虚拟机SFTP
部署成本 需要服务器+公网IP 本机即可,零额外成本
访问速度 依赖带宽 内网,延迟低
学习价值 了解生产环境流程 适合练手、测试
稳定性 高 依赖宿主机开关机

行业共识认为,工作学习中先掌握虚拟机SFTP再迁移到独立服务器,是最高效的踩坑路线,因为大部分配置逻辑完全一致,区别仅在网络层。

电脑可以sftp虚拟机的实现原理

上面操作能跑通,底层靠的是SFTP的三种通道内容:

协议层:SFTP走的是SSH加密通道,不是FTP那种明文协议,所以哪怕被抓包,数据也是密文。

认证层:分为两种,密码认证和密钥认证,密码认证交互简单,密钥认证免密更方便。

权限层:用户被限制在ChrootDirectory指定的目录里,目录之外的内容完全不可见,专业说法叫目录监狱,是生产环境最常用的隔离手段。

如果上面的步骤都做了还是连不上,有另一台机器可以试试,很多时候问题出在Windows防火墙拦截了22端口,解决办法:

netsh advfirewall firewall add rule name="SFTP" dir=in action=allow protocol=TCP localport=22

sftp默认密码是什么?别被误导了

有些教程提到虚拟机初始密码统一是ubuntu或root,纯属以讹传讹。SFTP没有默认密码,密码在安装系统或创建用户时由安装者设定,如果你忘了密码,用root权限直接重置:

sudo passwd sftpuser

重置后立即生效,无须重启服务,这一点对云服务器和本地虚拟机同样适用。

如果连root密码也忘了,需要进入虚拟机恢复模式重置,Ubuntu系统在GRUB菜单选择advanced options里的recovery mode,然后选root shell,执行passwd命令重置root密码,技术含量不高,但操作时小心别误删不该动的东西。

如何配置sftp访问虚拟机?用户名密码怎么设?

常见问题:配置完成却依旧连接失败

下面这是多数同学最终实战时会遇到的场景。

问题:FileZilla提示“无法连接到服务器”或“Connection refused”

排查顺序:

  1. 检查sshd监听状态:netstat -tlnp | grep sshd,确认服务在跑
  2. 检查22端口连通性:telnet 虚拟机IP 22,通了说明防火墙或安全组没问题
  3. 检查虚拟机防火墙:sudo ufw status,inactive或allow 22均可
  4. 检查VMware端口转发:NAT模式下,确认宿主机的端口转发规则指向虚拟机IP和22端口
  5. 检查登录凭据大小写:Linux用户名区分大小写,别把SFTP_User输错

一般走到第3步就能解决,少部分情形是虚拟机装了杀毒软件拦截入站连接,直接卸载或者放行22端口就行。

问题:连上了但传文件报Permission denied

通常原因:目标目录的属主不是当前用户,解决:

sudo chown -R sftpuser:sftpuser /目标目录路径

把目录还给用户,上传立即恢复正常。

怎么设置SFTP密码才算安全

大家关心密码强弱,提醒几个原则:

  • 位数不低于14位,混合大小写字母数字和符号
  • 不要和虚拟机SSH登录密码相同
  • 定期更换,建议90天为一个周期
  • 开启密钥认证后取消密码登录:把sshd_config中的PasswordAuthentication改成no

还有一点容易被忽略:云服务器上跑SFTP时,务必不要在密码里带单引号和空格,部分客户端无法正确解析,修改密码:

sudo passwd sftpuser

系统会让你输入两次新密码,遵守上面规则即可。

通过上面的操作步骤,你能在20分钟内完成从虚拟机安装到SFTP正常上传下载的全过程,核心就一句话:网络通、服务在、密码对,按顺序排查,没有解决不了的情况。

分享本文
本文为 简米科技官网 原创,已由运维技术专家审核。转载请注明来源:原文链接
售前咨询 服务热线 售后 邮箱