windows - scp på OSX tillader ikke mellemrum i brugernavne?

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg skal ssh i en Windows 7-boks, der kører MobaSSH som sin SSH-dæmon, og brugernavnet i Windows-boksen indeholder et mellemrum. Jeg kan logge ind på Windows 7-boksen på en OSX-terminal som sådan: [9]


ssh "Some User"@WindowsHost


Så jeg troede, at jeg kunne bruge SCP-kommandoen på OSX til at overføre filer mellem computere, men jeg fortsætter med at få en fejl med at sige 'ugyldigt brugernavn', når jeg gør noget som dette:


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


Jeg kiggede på det og fandt dette spørgsmål på stackoverflow, men det handler primært om et mellemrum inden for filstierne.


Jeg fandt en fejl om dette problem i en bestemt version af scp, men jeg er ikke sikker på, hvordan du laver scp på OSX. Patchen tilbydes som en .c-fil. [11]


Min sidste udvej er at oprette et nyt brugernavn på boksen Windows 7 og overføre alle mine profilindstillinger til den nye bruger. Det lader til en reel besvær, da jeg kan logge ind via ssh, men ikke scp.


Eventuelle tips?

Bedste reference


Tilføj en særlig konfiguration til din Mac-bruger ss config, normalt i ~/.ssh/config


Host mySpaceyUsernameHost
User "Some User"
HostName WindowsHost


Du skal derefter kunne scp din fil ved hjælp af den navngivne konfiguration:


scp myfile mySpaceyUsernameHost:~/myfile


Jeg har lige prøvet dette på OS X 10.7 (Lion), og det fungerede fra en Mac til en anden, mens de andre muligheder (citeret eller backlash-escaped) ikke .... så det er noget.

Andre referencer 1


Har du prøvet Some User@WindowsHost? Det rømmede rum kan virke, medmindre der faktisk er en fejl i scp.


Alternativt kan du ikke bare ændre enkerne 7 brugernavn og fjerne pladsen?

Andre referencer 2


Udskift mellemrummet med understreger:


scp file "User Name@host":


bliver til


scp file User\_Name@host:


Arbejder med scp fra Linux til Mac OS X.