OSX上的scp不允许用户名中的空格?

时间:2012-02-24 04:03:35

标签: windows ssh openssh

我需要ssh到运行MobaSSH作为其SSH守护程序的Windows 7框中,并且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,这似乎是一个真正的麻烦。

任何提示?

3 个答案:

答案 0 :(得分:10)

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

Host mySpaceyUsernameHost
User "Some User"
HostName WindowsHost

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

scp myfile mySpaceyUsernameHost:~/myfile

我刚刚在OS X 10.7(Lion)上尝试了这个,它在一台Mac上运行到另一台Mac,而其他选项(引用或反向转移)并没有....所以这就是它。< / p>

答案 1 :(得分:2)

你试过Some\ User@WindowsHost吗?除非scp中存在错误,否则转义的空间可能会起作用。

或者你可以改变寡妇7用户名并删除空格吗?

答案 2 :(得分:1)

用下划线替换空格:

scp file "User Name@host":

变为

scp file User_Name@host:

使用从Linux到Mac OS X的scp