====== Linux-Befehl: scp ====== [[raspberry_pi:raspberry_pi_-_arbeiten_auf_der_kommandozeile| ☚ zurück - Raspberry Pi - Arbeiten auf der Kommandozeile.]] //**Mini-Tutorial**: Praktische Beispiele für Linux-Befehle im Raspberry-Pi-Kurs// ^ Befehl ^ Beschreibung ^ | ''scp'' | Kopiert Dateien verschlüsselt über eine SSH-Verbindung zwischen Client und Remote-Rechner. | Behandelte Optionen: ''-r'', ''-v'' * ''-r'' - rekursiv (kopiert Verzeichnisse inkl. Unterordner) * ''-v'' - verbose (oder ''-vv'', ''-vvv''), ausführliche Ausgabe ---- ===== Beispiele ===== * Arbeitsrechner: Ubuntu-PC * Rechner-Name: **ubunti** * Raspberry Pi * Rechner-Name: **raspi** Die Ansprache des Rechners **__kann__** über den Namen erfolgen, wenn dieser im Netzwerk bekannt ist; andernfalls** __muss__** die **IP-Adresse verwendet werden**. ==== Datei: Client → Remote ==== **Szenario:** * Aktion: push (Client → Remote) * Client: Ubuntu-PC - Auf dem Client wird ''scp'' eingegeben! * Remote: Raspberry Pi Kopiert die Datei ''test.txt'' vom Client in das Home-Verzeichnis des Remote-Rechners. scp ~/test.txt raspi:~ ==== Datei: Remote → Client ==== **Szenario:** * Aktion: pull (Remote → Client) * Client: Ubuntu-PC - Auf dem Client wird ''scp'' eingegeben! * Remote: Raspberry Pi Kopiert die Datei ''test.txt'' vom Remote-Rechner in das Home-Verzeichnis des Clients. scp raspi:~/test.txt ~/ ==== Verzeichnis: Client → Remote ==== **Szenario:** * Aktion: push (Client → Remote) * Client: Ubuntu-PC - Auf dem Client wird ''scp'' eingegeben! * Remote: Raspberry Pi Kopiert das komplette Verzeichnis ''projekt'' mit allen Unterordnern und Dateien vom Client zum Remote-Rechner. scp -r ~/projekt raspi:~ ==== Verzeichnis: Remote → Client ==== **Szenario:** * Aktion: pull (Remote → Client) * Client: Ubuntu-PC - Auf dem Client wird ''scp'' eingegeben! * Remote: Raspberry Pi Kopiert das komplette Verzeichnis ''projekt'' vom Remote-Rechner in das Home-Verzeichnis des Clients. scp -r raspi:~/projekt ~/ ===== Raspberry Pi (per SSH) ===== Wenn man sich auf dem Raspberry Pi mit ''ssh'' eingeloggt hat und dort den ''scp''-Befehlt ausführt, vertauschen die Rollen von Client und Remote. **Szenario:** * Client: Raspberry Pi, führt ''scp'' aus! * Remote: Ubuntu-PC, der in der scp-Zeile angegeben ist (z. B. Ubuntu-PC oder anderer Host) Aktionen: * **Aktion Push:** Pi → Remote * **Aktion Pull:** Remote → Pi scp ~/test.txt user@remote-rechner:~/ scp user@remote-rechner:~/test.txt ~/ ===== Glossar – Grundbegriffe (SSH / scp / Netzwerk) ===== ^ Begriff ^ Kurzdefinition ^ | **Client** | Rechner, auf dem ein Befehl wie ''ssh'' oder ''scp'' ausgeführt wird. Er startet die Verbindung. | | **Server** | Rechner, auf dem ein Dienst läuft (z. B. der SSH-Server ''sshd''). Er wartet auf Verbindungen. | | **Host** | Allgemeiner Begriff für ein Gerät im Netzwerk mit eigener IP-Adresse. | | **Remote Host** | Der entfernte Rechner, zu dem eine Verbindung aufgebaut wird. | | **Lokales System** | Der Rechner, auf dem man gerade arbeitet (ohne ''user@host:'' in der Befehlszeile). | | **Benutzer (User)** | Konto auf einem Linux-System, unter dem man sich anmeldet. | | **SSH** | Verschlüsseltes Netzwerkprotokoll zur Anmeldung und Datenübertragung zwischen Rechnern. | | **Port** | Nummer, über die ein Dienst erreichbar ist (SSH standardmäßig Port 22). | | **IP-Adresse** | Numerische Adresse eines Rechners im Netzwerk (z. B. 192.168.0.15). | | **Hostname** | Name eines Rechners im Netzwerk (z. B. ''raspberrypi''). | | **Push** | Datenübertragung vom Client zum Remote Host. | | **Pull** | Datenübertragung vom Remote Host zum Client. | ----