Windows 本地文件传输到 Linux(Ubuntu)服务器
方法一:使用 MobaXterm / Xshell (自带 SFTP 侧边栏)
如果你已经在用这些工具远程连接 Linux,它们通常自带文件传输功能。
-
在 MobaXterm 左侧面板点击 SFTP 选项卡。

2. 找到 /home/你的用户名 路径。

3. 点击上方的 Upload 按钮,或者直接从 Windows 文件夹里把文件拖进这个侧边栏。
方法二:使用 SCP 命令(无需安装额外软件)
如果你习惯用命令行(PowerShell 或 CMD),可以直接传输。
1.确定“用户名”
在你的 Ubuntu 终端输入:
whoami
- 结果:终端会直接弹回你的登录名
2. 确定“服务器 IP”
在你的 Ubuntu 终端输入:
hostname -I
- 结果:你会看到一串数字(如
192.168.XXX.XXX)。通常第一个就是你的内网 IP。
3.使用 SCP 命令
在 Windows 的项目根目录下打开 PowerShell,输入:
# 语法:scp -r 本地目录 远程用户名@IP:远程路径
scp -r ./* 用户名@你的服务器IP:~/my_ai_bot
我的文件传入根目录下的my_ai_bot文件夹里。
如果执行 ssh 时提示 Connection refused,那说明你的 Ubuntu 还没开启 SSH 服务!!!
4.开启SSH服务
第一步:在 Ubuntu 上安装并启动 SSH
请切换回你的 Ubuntu 终端,执行以下命令:
# 1. 更新软件库
sudo apt-get update
# 2. 安装 OpenSSH 服务端
sudo apt-get install -y openssh-server
# 3. 启动服务并设置开机自启
sudo systemctl start ssh
sudo systemctl enable ssh
# 4. 确认服务状态
sudo systemctl status ssh
!!!!!!!!如果看到绿色字体的 active (running),说明门已经开了。
类似这样:

第二步:放行防火墙(如果已开启)
有时候 Ubuntu 默认开启了防火墙,我们需要手动给 22 端口“揭贴”:
sudo ufw allow ssh
# 或者直接指定端口
sudo ufw allow 22/tcp
第三步:再次从 Windows 尝试传输
现在回到你的 Windows PowerShell,重新执行刚才的命令。
注意: 第一次连接时,它会问你 Are you sure you want to continue connecting (yes/no)?,请手动输入 yes 并回车,然后输入你的 Ubuntu 登录密码。

验证文件传输是否成功
1.在 Ubuntu 终端输入(注意要带 -a 参数才能看到隐藏文件):
ls -la ~/my_ai_bot
2.对比查看文件是否完整。我有个文件没有传过去(.env)。
针对性解决:
情况 A:如果没有 .env 文件(手动补票)
既然其他文件都在,可以直接在 Ubuntu 里手动创建一个:
nano ~/my_ai_bot/.env
然后把 Windows 里的 .env 内容直接粘贴进去。 (按 Ctrl+O 保存,Enter 确认,Ctrl+X 退出)
情况 B:如果有 .env 文件但读不到(给权限) (有时会存在没有权限)
sudo chmod 644 ~/my_ai_bot/.env
其中,
chmod:更改文件权限的命令。
644:设置的权限数字,含义为:
6(所有者):读 + 写(4+2)
4(用户组):只读
4(其他用户):只读
更多推荐




所有评论(0)