我需要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,这似乎是一个真正的麻烦。
任何提示?
答案 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
。