ssh - PuTTY PSCP 错误 "Local to local copy not supported"当用户名包含斜杠时

标签 ssh putty pscp

我正在尝试使用 PSCP 将文件从本地 Windows 机器移动到远程 Linux 服务器。我已连接到 VPN,以便我可以使用我的用户名和密码访问我的远程 Linux 机器。

我用于传输的 PSCP 命令是:

pscp C:\Users\username\Desktop\list.txt PEM\username@10.120.43.78:/home/local/PEM/username

这导致错误

Local to local copy not supported



我试过这个命令只是为了试用
pscp C:\Users\username\Desktop\list.txt username@10.120.43.78:/home/local/PEM/username

上面的命令导致向我询问密码。但是,当我输入密码时,访问被拒绝。这是因为我的远程 Linux 机器用户名是 PEM/username而不是 username .但是,如果我使用 PEM/username “不支持本地到本地副本”错误消息即将到来。是否与斜线有关\在用户名中 PEM\username ?

最佳答案

是的,这是反斜杠。

要解决此问题,请使用 -l开关以指定用户名。

pscp -l PEM\username C:\Users\username\Desktop\list.txt 10.120.43.78:/home/local/PEM/username

背景:

PSCP 在目标中查找第一个冒号、斜线或反斜线。只有当第一个符号是冒号时,才认为目标是远程的,否则认为是本地的。

/*
 *  Find a colon in str and return a pointer to the colon.
 *  This is used to separate hostname from filename.
 */
static char *colon(char *str)
{
    /* We ignore a leading colon, since the hostname cannot be
       empty. We also ignore a colon as second character because
       of filenames like f:myfile.txt. */
    if (str[0] == '\0' || str[0] == ':' ||
        (str[0] != '[' && str[1] == ':'))
    return (NULL);
    str += host_strcspn(str, ":/\\");
    if (*str == ':')
    return (str);
    else
    return (NULL);
}

...

if (colon(argv[argc - 1]) != NULL)
    toremote(argc, argv);
else
    tolocal(argc, argv);

关于ssh - PuTTY PSCP 错误 "Local to local copy not supported"当用户名包含斜杠时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34037484/

相关文章:

sftp - 与filezilla相比,使用pscp.exe进行sftp传输非常慢

linux - 检测SFTP文件上传完成

linux - 使用单个命令通过 ssh 找不到命令,在连接到终端后找到

linux - 在 Putty 中从计算机获取文件

windows - 在 Windows 中通过 SSH 服务器的 Git,找不到共享库

character-encoding - 当 PuTTY 终端设置为使用 UTF-8 时,gdb --tui 无法使用正确的线条显示边框

windows-services - 使用 pscp.exe 时跳过主机检查

java - Archlinux上的Hadoop dfs无法启动| SSH端口22连接被拒绝

mysql - Navicat - 在 'reading initial communication packet' 失去与 mysql 服务器的连接,系统错误 : 0

java运行cmd命令