2014-03-25 3 views
7

Ich bin FreeSSHD auf Windows A laufen, und muss Datei mit ihm per scp übertragen. Das Windows-Programm freesshd kann über den ssh-Client verbunden werden. aber weder WinSCP unter Windows noch scp unter Linux können mit freeSSHD keine Verbindung zu Windows herstellen. Die Fehler sind:freeSSHD kann nicht von scp zugegriffen werden

auf Linux:

[email protected]:~$ scp -r /home/test/scptest [email protected]:/C:\Users\dejavu\Desktop 
[email protected]'s password: 
exec request failed on channel 0 
lost connection 

auf Fenster:

'scp' Protokoll ausgewählte Datei zu übertragen, und der Port ist standardmäßig 22 Der Fehler ist einfach host is not communicating for more than 15 seconds. still waiting...

Antwort

6

scp, wie viele andere Dinge, ist zwei-Seiten-Protokoll. Es erfordert scp, um auf Client und Server vorhanden zu sein. Wenn Sie den Kopierbefehl ausgeben, verbindet sich ssh mit gegebenem Server und spawnt scp Prozess, den Ihr lokaler scp dann kommuniziert. In Ihrem Fall gibt es keine scp auf dem Server, so dass keine Kommunikation möglich ist.

rsync verhält sich in genau der gleichen Weise.

Ich denke, in Ihrem Fall könnten Sie versuchen sftp.

+0

Danke für Ihren Hinweis! Ich kann nun mit freesshd von winscp durch "sftp" auf windows zugreifen. Aber mein endgültiger Zweck ist es, fabric.operations.put/get mit Windows mit freesshd zu übertragen. Ich denke, ich muss den SSH-Server ändern oder alternative Methoden zum Übertragen von Dateien verwenden. –

+1

Ich denke, Sie könnten 'scp.exe' in eines der Systemverzeichnisse kopieren (eines von PATH, beispielsweise' C: \ windows \ system32'). Es ist nicht Teil von SSH. Winscp habe einen, wenn ich mich richtig erinnere. – keltar

+0

Meine Schuld. Ich dachte, dass Stoff Scp in Put/Get verwendet. stattdessen verwendet es sftp. und aktivieren sftp in freesshd funktioniert jetzt! Vielen Dank! –