windows - OSX 上的 scp 不允​​许用户名中有空格?

标签 windows ssh openssh

我需要通过 ssh 进入运行 MobaSSH 的 Windows 7 机器作为其 SSH 守护程序,Windows 框中的用户名包含一个空格。我可以像这样在 OSX 终端上登录到 Windows 7 框:

ssh "Some User"@WindowsHost

所以我想我可以在 OSX 上使用 scp 命令在计算机之间传输文件,但是每当我做这样的事情时,我总是收到一个错误提示“无效的用户名”:

scp myfile "Some User"@WindowsHost:~/myfile

我调查了一下,发现 this question on stackoverflow ,但这主要是关于文件路径中的空格。

我确实找到了 a bug posted about this issue in a specific version of scp ,但我不确定如何在 OSX 上修补 scp。该补丁以 .c 文件的形式提供。

我最后的选择是在 Windows 7 机器上创建一个新用户名,并将我所有的配置文件设置转移给该新用户。考虑到我可以通过 ssh 而不是 scp 登录,这似乎是一个真正的麻烦。

有什么建议吗?

最佳答案

为您的 Mac 用户的 ssh 配置添加特殊配置,通常在 ~/.ssh/config 中

Host mySpaceyUsernameHost
User "Some User"
HostName WindowsHost

然后您应该能够使用该命名配置对您的文件进行 scp:

scp myfile mySpaceyUsernameHost:~/myfile

我刚刚在 OS X 10.7 (Lion) 上试过这个,它在一台 Mac 和另一台 Mac 上工作,而其他选项(引用或反斜杠转义)没有......所以就是这样。

关于windows - OSX 上的 scp 不允​​许用户名中有空格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9425222/

相关文章:

python - pip install numpy 不起作用 : "No matching distribution found"

python - 如何在 python 中获取当前用户和脚本的工作目录?

java - JSch 中 config.put ("StrictHostKeyChecking", "no") 的用途是什么

shell - 如何使用 PowerShell 通过 SSH 传输安全密码?

最新 git 版本的 Git 权限被拒绝(公钥)

c++ - 视觉 C++ 开发

windows - DSC Pull 服务器无法注册 Windows 10 (1709) 客户端

python - 这个 lambda/yield/generator 理解是如何工作的?

ssh - 将证书添加到 ssh-agent 以获取已在代理内部的 key

git - YOCTO: "error: cannot run ssh: No such file or directory"