Wie lade ich mit SSH eine Datei vom AWS-Server herunter?

Wie lade ich mit SSH eine Datei vom AWS-Server herunter?

Umgebung: Remote: AWS – RHEL 7.2 Lokal: Ubuntu 16.04

Ich melde mich per SSH direkt bei der AWS-Box an und verwende zur Authentifizierung eine PEM-Datei, etwa so:

ssh -i /home/<user>/<path>/<serverkey>.pem ec2-user@ec2-<awsserver>.us-west-2.compute.amazonaws.com

Ich möchte einfach eine Datei herunterladen, die nicht dem Root-Benutzer, sondern einem anderen Benutzer gehört, sodass die übliche SCP-Magie nicht ohne Weiteres funktioniert.

Irgendwelche Vorschläge?

Antwort1

Ich persönlich würde untersuchen, warum sftpes scpnicht funktioniert.

Technisch können Sie Folgendes tun:

ssh -t user@host 'cat /path/to/file' > out.file

Das vielleichtNICHTErstellen Sie eine identische Datei, die aber für Ihren Zweck möglicherweise gut genug ist.

Beispielsweise erzeugte meine Testfallübertragung eine Datei mit CRLF-Zeilenabschlusszeichen (DOS), während das Original LF (UNIX) hatte – ehrlich gesagt bin ich mir nicht sicher, warum. Der Rest der Datei war identisch. Es wurde auch keine Binärdatei getestet.

Der Test wurde von Linux auf FreeBSD durchgeführt.

Antwort2

 ssh — OpenSSH SSH client (remote login program)
 scp — secure copy (remote file copy program)
 sftp — secure file transfer program

Verwenden Sie scp oder sftp. Beispielverwendung;

scp [email protected]:/home/ec2-user/.bashrc download-bashrc.txt

alle drei funktionieren mit dem SSH-Daemon.

PS: Um an die Datei eines anderen Benutzers zu gelangen, stellen Sie sicher, dass Ihr Benutzer Lesezugriff auf die Datei hat (entweder chmod/chown oder kopieren Sie die Datei in das Home-Verzeichnis Ihres Benutzers).

verwandte Informationen