S3-kompatible CLI-Tools & curl verwenden
Diese Seite zeigt die Einrichtung der gängigsten Kommandozeilen-Tools sowie den direkten API-Zugriff mit curl.
Verwendete Beispielwerte (bitte durch echte Werte ersetzen):
| Endpoint | https://s3.internet1.de |
| Region | |
| Access Key | IHR_ACCESS_KEY |
| Secret Key | IHR_SECRET_KEY |
AWS CLI
Installation & Konfiguration
# Installation siehe https://docs.aws.amazon.com/cli/
aws configure
# AWS Access Key ID: IHR_ACCESS_KEY
# AWS Secret Access Key: IHR_SECRET_KEY
# Default region name:
# Default output format: json
Der Endpoint wird pro Befehl mit --endpoint-url übergeben – oder dauerhaft in ~/.aws/config:
[default]
region =
endpoint_url = https://s3.internet1.de
Typische Befehle
aws s3 ls # Buckets auflisten
aws s3 mb s3://mein-bucket # Bucket anlegen
aws s3 cp datei.txt s3://mein-bucket/ # Upload
aws s3 cp s3://mein-bucket/datei.txt . # Download
aws s3 sync ./ordner s3://mein-bucket/ordner # Verzeichnis synchronisieren
aws s3 rm s3://mein-bucket/datei.txt # Objekt löschen
aws s3 rb s3://mein-bucket # leeren Bucket löschen
(Jeweils mit --endpoint-url https://s3.internet1.de, falls nicht in der Config hinterlegt.)
s3cmd
Konfiguration in ~/.s3cfg:
[default]
access_key = IHR_ACCESS_KEY
secret_key = IHR_SECRET_KEY
host_base = s3.internet1.de
host_bucket = %(bucket)s.s3.internet1.de
use_https = True
s3cmd ls # Buckets auflisten
s3cmd mb s3://mein-bucket # Bucket anlegen
s3cmd put datei.txt s3://mein-bucket/
s3cmd get s3://mein-bucket/datei.txt
MinIO Client (mc)
mc alias set centron https:// IHR_ACCESS_KEY IHR_SECRET_KEY
mc ls centron # Buckets auflisten
mc mb centron/mein-bucket # Bucket anlegen
mc cp datei.txt centron/mein-bucket/
mc mirror ./ordner centron/mein-bucket/ordner
rclone
rclone config
# n) New remote → Name: centron → Storage: s3 → Provider: Other
# access_key_id / secret_access_key eintragen
# region:
# endpoint: https://s3.internet1.de
Oder direkt in ~/.config/rclone/rclone.conf:
[centron]
type = s3
provider = Other
access_key_id = IHR_ACCESS_KEY
secret_access_key = IHR_SECRET_KEY
region =
endpoint = https://s3.internet1.de
rclone lsd centron: # Buckets auflisten
rclone copy ./ordner centron:mein-bucket # Upload
rclone sync centron:mein-bucket ./backup # Download/Sync
Direkter API-Zugriff mit curl
Für Debugging oder minimale Umgebungen lässt sich die API direkt mit curl ansprechen. S3 verlangt signierte Requests (AWS Signature v4); aktuelle curl-Versionen (≥ 7.75) übernehmen die Signierung mit --aws-sigv4:
# Objekt hochladen
curl -X PUT "https://s3.internet1.de/mein-bucket/datei.txt" \
--user "IHR_ACCESS_KEY:IHR_SECRET_KEY" \
--aws-sigv4 "aws:amz:de-central-1:s3" \
--upload-file ./datei.txt
# Objekt herunterladen
curl "https://s3.internet1.de/mein-bucket/datei.txt" \
--user "IHR_ACCESS_KEY:IHR_SECRET_KEY" \
--aws-sigv4 "aws:amz:de-central-1:s3" \
-o datei.txt
# Bucket-Inhalt auflisten (XML-Antwort)
curl "https://s3.internet1.de/mein-bucket?list-type=2" \
--user "IHR_ACCESS_KEY:IHR_SECRET_KEY" \
--aws-sigv4 "aws:amz:de-central-1:s3"
# Objekt löschen
curl -X DELETE "https://s3.internet1.de/mein-bucket/datei.txt" \
--user "IHR_ACCESS_KEY:IHR_SECRET_KEY" \
--aws-sigv4 "aws:amz:de-central-1:s3"
Info
Öffentlich lesbare Objekte oder Presigned URLs benötigen keine Signatur – ein einfaches curl -O <URL> genügt.