dateien kopieren per ssh?

Also ich habe das mal ein meinem Lieblingsnachschlagewerk "Unix in a Nutshell" nachgeschlagen, der Syntax ist so richtig.
Code:
scp [optionen] file1 file2

wobei file1 auch mehrere Dateinamen hintereinander sein können, in diesem Fall muss file2 (also das Ziel) aber ein Verzeichnis sein.

file1 und file2 können dabei in einer dieser Varianten angegeben werden:
Code:
file
host:file
user@host:file

Code:
scp benutzer@server:dateiname dateiname
müsste das machen was Du beabsichtigst, wenn Du vorher schon lokal in das Zielverzeichnis gewechselt hast.

Hier sind auch noch ein paar Beispiele:
http://amath.colorado.edu/computing/software/man/scp.html
 
Zuletzt bearbeitet von einem Moderator:
  • Gefällt mir
Reaktionen: Naphaneal
ich hab das jetzt mal mit verbose gemacht und da steht dann folgendes:

Executing: program /usr/bin/ssh host xxx.xxx.xxx.xxx, user naphaneal, command scp -v -t ~/Desktop/ptexercise_d.c
OpenSSH_4.2p1, OpenSSL 0.9.8a 11 Oct 2005
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug1: Connecting to xxx.xxx.xxx.xxx [xxx.xxx.xxx.xxx] port xx.

allerdings hängt der sich da dann auf. zumindest pasiert eine ziemliche zeitlang nix. könnte evtl am router liegen, da bei dem einige ports gesperrt sind. aber den kann ich derzeit nicht anpassen, weil mein bruder das passwort geändert hat und z.Zt. nicht da ist.
 
Also das sieht jetzt so aus als würde er auf die ssh Verbindung warten, nach einem gewissen Timeout wird er das wohl abbrechen da er keine Verbindung bekommt.

Kannst Du Dich denn mit ssh einloggen? Also mit
Code:
ssh naphaneal@www.informatik.fb2.fh-frankfurt.de

Und was genau hast Du bei scp eingegeben? Das hier:
Code:
scp naphaneal@www.informatik.fb2.fh-frankfurt.de:Desktop/ptexercise_d.c ./ptexercise_d.c
müsste eigentlich genau das machen was Du suchst, vorausgesetzt die Datei "ptexercise_d.c" befindet sich auf dem Server in Deinem Home und dort im Verzeichnis Desktop und Du führst diesen Befehl vom Zielverzeichnis auf Deinem Rechner heraus aus.

EDIT:
Und bist Du Dir sicher das die Serveradresse stimmt? Meist muss das "www" nicht dabei sein, oder es muss stattdessen ein anderer Name stehen.
Wenn Du Dich aber über den ssh Befehl einloggen kannst, müsste das scp auch können.
 
Zuletzt bearbeitet:
Also das sieht jetzt so aus als würde er auf die ssh Verbindung warten, nach einem gewissen Timeout wird er das wohl abbrechen da er keine Verbindung bekommt.

Kannst Du Dich denn mit ssh einloggen? Also mit
Code:
ssh naphaneal@www.informatik.fb2.fh-frankfurt.de

Und was genau hast Du bei scp eingegeben? Das hier:
Code:
scp naphaneal@www.informatik.fb2.fh-frankfurt.de:~/Desktop/ptexercise_d.c ./ptexercise_d.c
müsste eigentlich genau das machen was Du suchst, vorausgesetzt die Datei "ptexercise_d.c" befindet sich auf dem Server in Deinem Home/Desktop und Du führst diesen Befehl vom Zielverzeichnis auf Deinem Rechner heraus aus.

login per ssh geht problemlos. kann auch alles mögliche machen verschieben, umbenennen, zwischen verzeichnissen kopieren. aber halt nicht auf meinen lokalen rechner rüberkopieren.

@serveradresse: müsste die adresse sein. hab die von einem der admins, aber ich frag morgen nochmal nach. ohne www. hab ich's auch gemacht. da meinte scp server nicht verfügbar. werd die jungs mal diesbezüglich ausquetschen.
 
Na das ist merkwürdig, der Befehlsaufruf ist so aber richtig. Du musst bei scp vor dem ":" genau das eingeben, was Du auch beim Verbinden mit ssh angibst, also beispielsweise "user@server"
Dann kommt der ":" und danach der Pfad zur Datei, wobei der schon von Deinem Benutzerverzeichnis ausgeht.

Beim Ziel kannst Du dann "./" also lokales Ziel angeben, dann kopiert er die Datei unter dem gleichen Namen in das aktuelle Verzeichnis auf Deinem Rechner.
 
ok...also ich hab das im verbose-modus nochmal so ausgeführt wie von dir beschrieben.

jetzt gibt's da nen ellenlangen text:

Code:
scp -v <username>@www.informatik.fb2.fh-frankfurt.de:~/ptexercise_d.c ./Desktop/ptexercise_d.c 
Executing: program /usr/bin/ssh host www.informatik.fb2.fh-frankfurt.de, user <username>, command scp -v -f ~/ptexercise_d.c
OpenSSH_4.2p1, OpenSSL 0.9.8a 11 Oct 2005
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug1: Connecting to www.informatik.fb2.fh-frankfurt.de [194.94.82.195] port 22.
debug1: Connection established.
debug1: identity file /home/student/binf/<username>/.ssh/identity type -1
debug1: identity file /home/student/binf/<username>/.ssh/id_rsa type -1
debug1: identity file /home/student/binf/<username>/.ssh/id_dsa type -1
debug1: Remote protocol version 1.99, remote software version OpenSSH_4.2
debug1: match: OpenSSH_4.2 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_4.2
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-cbc hmac-md5 none
debug1: kex: client->server aes128-cbc hmac-md5 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug1: Host 'www.informatik.fb2.fh-frankfurt.de' is known and matches the RSA host key.
debug1: Found key in /home/student/binf/<username>/.ssh/known_hosts:4
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,keyboard-interactive
debug1: Next authentication method: publickey
debug1: Trying private key: /home/student/binf/<username>/.ssh/identity
debug1: Trying private key: /home/student/binf/<username>/.ssh/id_rsa
debug1: Trying private key: /home/student/binf/<username>/.ssh/id_dsa
debug1: Next authentication method: keyboard-interactive
Password: 
debug1: Authentication succeeded (keyboard-interactive).
debug1: channel 0: new [client-session]
debug1: Entering interactive session.
debug1: Sending environment.
debug1: Sending env LANG = de_DE.UTF-8
debug1: Sending command: scp -v -f ~/ptexercise_d.c
Sending file modes: C0644 3824 ptexercise_d.c
Sink: C0644 3824 ptexercise_d.c
ptexercise_d.c                                100% 3824     3.7KB/s   00:00    
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
debug1: channel 0: free: client-session, nchannels 1
debug1: fd 0 clearing O_NONBLOCK
debug1: fd 1 clearing O_NONBLOCK
debug1: Transferred: stdin 0, stdout 0, stderr 0 bytes in 0.3 seconds
debug1: Bytes per second: stdin 0.0, stdout 0.0, stderr 0.0
debug1: Exit status 0

aber bevor hier der große freudentaumel ausbricht:

ich habe die datei nicht auf meinem rechner. lässt sich nicht finden. weder per spotlight, find, locate, grep, whatever...

ich denke mal da is nix anderes passiert als die datei serverseitig im homeverzeichns kopiert zu haben. sprich: kopiert und mit sich selbst überschrieben.
 
Also das ist merkwürdig, da bin ich nun mit meinem Latein am Ende. Der Syntax ist schon richtig so, ich hab es auch testweise nochmals nachgeprüft. Aber wieso das in diesem Fall bei Dir nicht funktioniert? :confused:

Geht es denn mit anderen Dateien? Oder versuch mal eine Datei von Deinem lokalen Rechner auf den Server zu übertragen. Das geht im Grunde genauso, nur sind Quelle und Ziel dann eben umgedreht.

Von welchen Verzeichnis führst Du den Befehl denn aus? Geh mal auf Deinem Mac in das Desktop Verzeichnis und gib als Ziel einfach nur "./" an.
 
Zuletzt bearbeitet:
von mir übertragen geht auch nicht...also ich werd da morgen die jungs fragen...vielleicht brauch ich irgendwelche angaben, die mir derzeit unbekannt sind.

trotzdem danke für die mühe...
 
denkbar sind auch unterschiedliche SSH-Versionen als Fehlerquelle!
Ebenso ist es denkbar das der Daemon so konfiguriert ist das er Klartext-Paßworte ablehnt, also nur mit Keys funktioniert. Das dürfte sich dann aber im Logging und an der Kommondozeile bemerkbar machen.
 
Zuletzt bearbeitet:
Zurück
Oben Unten