![SCP-Dateien zwischen 2 VMs](https://rvso.com/image/1345309/SCP-Dateien%20zwischen%202%20VMs.png)
Ich habe 2 virtuelle Maschinen. Auf der 1. virtuellen Maschine sind die Quelldateien gespeichert. Auf der 2. virtuellen Maschine befindet sich mein Bash-Skript und es sollte Dateien von der Quelle auf meine 2. virtuelle Maschine kopieren.
Wie kann ich das in Bash machen?
Ist es möglich, Dateien per SCP von einer virtuellen Maschine auf eine zweite virtuelle Maschine in Bash zu übertragen, wenn mein Skript auf der dritten Maschine läuft? Wenn ja, zeigen Sie mir bitte, wie das geht.
Antwort1
Es ist möglich (solange beide Hosts auf SSH lauschen und der erste Remote-Host den zweiten sehen kann)! Warum probieren Sie es nicht einfach mal aus?
scp remote1:/path/to/file remote2:/path/to
Möglicherweise müssen Sie für beide Hosts Benutzernamen und/oder Kennwörter angeben (wenn Ihr Benutzername von Computer zu Computer unterschiedlich ist).
Wenn Sie eine agentenbasierte Authentifizierung mit aktivierter Agentenweiterleitung verwenden, müssen Sie keine Kennwörter angeben (dies ist meine bevorzugte Arbeitsmethode).
Beachten Sie, dass dies nichts mit Bash (oder sogar virtuellen Maschinen) zu tun hat und in jeder Shell funktionieren sollte.
Antwort2
Normalerweise geht das so, indem Sie sich per SSH bei einem der Remotecomputer anmelden und von dort aus den SCP-Befehl ausführen.
#3rd-vm> ssh 2nd-vm
#2nd-vm> scp file 1st-vm:~/
Antwort3
Wenn Sie die Verbindung über die dritte Maschine herstellen müssen, können Sie dies mit SSH wie folgt tun:
ssh remote1 cat file | ssh remote2 'cat > file'
Oder mit Teer:
ssh remote1 tar cf - path/to/copy | ssh remote2 tar xf - -C path/to/dest