You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

向Ubuntu服务器上传文件的正确命令咨询及报错问题排查

向Ubuntu服务器上传文件的正确命令咨询及报错问题排查

我来帮你分析这两个报错的原因,再告诉你正确的操作方式~

报错原因拆解

第一个报错:Permission denied (publickey)

你在本地Mac终端直接用root用户尝试上传文件,出现这个错误主要有两个原因:

  • 多数云服务器默认禁用了root用户的密码登录权限,且你没有给root用户配置本地Mac的SSH公钥,导致服务器拒绝了你的连接请求。
  • 从安全规范来说,也不推荐直接用root进行日常文件传输操作,优先使用服务器提供的普通用户(比如你用到的ubuntu用户)更稳妥。

第二个报错:No such file or directory

你已经登录到Ubuntu服务器的终端后执行scp命令,试图访问/Users/xyz/Downloads/model/api.py——这个路径是本地Mac的文件路径,服务器上根本不存在对应的目录结构,自然会提示找不到文件。这种场景下,你应该在本地Mac的终端(而非服务器终端)执行传输命令。

正确的上传操作步骤

直接在本地Mac的终端窗口中执行以下命令即可(无需提前登录服务器):

scp /Users/xyz/Downloads/model/api.py ubuntu@myserverip:/home/ubuntu/virtualweb

注:如果传输的是目录而非单个文件,才需要加上-r参数,单个文件可以省略

命令参数说明

  • scp:用于本地与远程服务器之间文件传输的工具
  • /Users/xyz/Downloads/model/api.py:本地Mac上待上传文件的完整路径
  • ubuntu@myserverip:服务器的普通用户名(这里是ubuntu)+ 服务器IP地址
  • /home/ubuntu/virtualweb:服务器上接收文件的目标路径

额外注意事项

  1. 如果执行命令时要求输入密码,直接输入ubuntu用户的登录密码即可;若仍出现公钥相关错误,建议把本地Mac的SSH公钥添加到服务器~/.ssh/authorized_keys文件中,后续传输就无需重复输密码。
  2. 确保服务器上的目标路径/home/ubuntu/virtualweb已经存在,若不存在,可先登录服务器执行mkdir -p /home/ubuntu/virtualweb创建该目录。

备注:内容来源于stack exchange,提问作者user9437856

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.16 13:13:12