返回

如何使用 PuTTY 将文件从 Windows 传输到 Linux?

Linux

使用 PuTTY 通过 Windows 将文件传输到 Linux

问题

当你使用 PuTTY 通过 SSH 远程连接到 Linux 计算机时,可能会遇到将文件从本地 Windows 笔记本电脑传输过去的困难。使用 scp 命令时,你可能会遇到以下错误:

  • "No such file or directory":这表明你输入的文件路径不正确。
  • "Permission denied":这表明你没有 Linux 计算机上目标文件夹的写入权限。

解决步骤

1. 检查路径的正确性

仔细检查文件路径中是否存在拼写错误或多余的字符。正确的路径应类似于:C:\Users\Admin\Desktop\file.txt

2. 使用绝对路径

使用文件的绝对路径,包括驱动器号。例如:C:\Users\Admin\Desktop\file.txt

3. 检查 Linux 权限

确保你拥有 Linux 计算机上目标文件夹的写入权限。使用 ls -l 命令检查权限。

4. 使用 pscp 命令

PuTTY Suite 还提供了一个名为 pscp 的命令,专门用于在 Windows 和 SSH 服务器之间进行文件传输。它更易于使用,并且具有更友好的错误消息。尝试使用 pscp 命令:

pscp C:\Users\Admin\Desktop\file.txt username@linux_machine_ip:/path/to/destination/folder

5. 技巧

  • 重命名文件为更简单的名称,以避免字符转义问题。
  • 检查防火墙或防病毒软件是否阻止了文件传输。
  • 使用详细模式(-v)重新运行 scp 命令以获取更多调试信息。

示例

以下是使用 pscp 命令传输文件的示例:

pscp -v C:\Users\Admin\Desktop\file.txt username@192.168.1.10:/home/user/Desktop

此命令将文件 file.txt 从 Windows 笔记本电脑传输到 Linux 计算机上的 /home/user/Desktop 目录。

常见问题解答

1. 为什么我收到 "No such file or directory" 错误?

这表明文件路径不正确。检查路径中是否存在拼写错误或多余的字符。

2. 为什么我收到 "Permission denied" 错误?

这表明你没有 Linux 计算机上目标文件夹的写入权限。使用 chmod 命令修改权限。

3. 如何使用 pscp 命令?

使用以下语法:

pscp local_file_path username@linux_machine_ip:/path/to/destination/folder

4. 如何在详细模式下使用 scp 命令?

使用 -v 标志:

scp -v local_file_path username@linux_machine_ip:/path/to/destination/folder

5. 如何解决文件传输被防火墙阻止的问题?

在防火墙中允许 scppscp 端口。