Hoe gebruik je SCP-opdrachten (Secure Copy) op Linux?

SCP (Secure Copy) is nog steeds een van die tools waar iedereen op vertrouwt voor snelle, veilige bestandsverplaatsingen – tenminste op Linux en macOS. Het maakt gebruik van SSH, dus je profiteert van de voordelen van sterke authenticatie en encryptie. Eerlijk gezegd, als je bestanden tussen servers of lokaal moet verplaatsen, is SCP door zijn eenvoud en ingebouwde beschikbaarheid erg handig. Maar ja, het kan soms ook raar doen: machtigingen, firewalls, poortproblemen…Alle bekende problemen.

Hoe je veelvoorkomende SCP-problemen kunt oplossen

SCP aan de praat krijgen als het vastloopt of mislukt

Als SCP plotseling weigert verbinding te maken of een foutmelding geeft over authenticatie of machtigingen, controleer dan eerst de SSH-verbinding.

  • Probeer rechtstreeks via SSH verbinding te maken: ssh username@host. Als dat niet werkt, zal SCP ook niet werken.
  • Als je de melding “host key verification failed” krijgt, moet je mogelijk je known_hosts-bestand opschonen. Dit bestand bevindt zich meestal op ~/.ssh/known_hosts. Je kunt de betreffende regel verwijderen of het bestand tijdelijk leegmaken:
ssh-keygen -R host

Of verwijder specifieke regels met een teksteditor. Dit is handig wanneer de SSH-sleutel van de server onverwacht is gewijzigd.

Oplossing voor problemen met machtigingen of SSH-sleutels

Soms mislukt SCP vanwege problemen met machtigingen of ontbrekende sleutels. Controleer of uw SSH-sleutels correct zijn ingesteld in ~/.ssh/. Om problemen op te lossen:

  • Zorg ervoor dat uw sleutel is toegevoegd aan de SSH-agent: ssh-agent bashgebruik dan ssh-add ~/.ssh/id_rsa(of wat uw sleutel ook is).
  • Controleer of de machtigingen van de externe server voor uw ~/.ssh- directory en -bestanden correct zijn ( 700 voor .ssh, 600 voor privésleutels).
  • Als u wachtwoordverificatie gebruikt, controleer dan of de wachtwoordprompt niet verborgen is achter een probleem met de referentiebeheerder of de SSH-configuratie.

Wanneer SCP klaagt over de haven

Dit komt vrij vaak voor als je server geen SSH op poort 22 gebruikt. Om dat op te lossen, gebruik je -P(met een hoofdletter P, niet een kleine letter) gevolgd door het poortnummer:

scp -P 2222 username@host:/path/file /local/path/

Let op: in sommige configuraties, met name op Windows met tools zoals WinSCP of PuTTY, moet u de poort expliciet opgeven in de verbindingsopties.

Problemen met de snelheid of vastlopende overdrachten van grote bestanden.

Op sommige netwerken kan SCP erg traag zijn met grote bestanden. Compressie inschakelen helpt soms, maar beperkt ook de bandbreedte:

scp -C filename username@host:/destination/

En als je wilt voorkomen dat je bandbreedte volledig wordt opgeslokt, beperk deze dan:

scp -l 1000 filename username@host:/destination/

(Dit beperkt de bandbreedte tot ongeveer 1000 Kbit/s.)

Bestandskenmerken behouden tijdens het kopiëren

Deze is handig als je wilt dat tijdstempels en machtigingen intact blijven. Gebruik -p.

scp -p filename username@host:/destination/

Werkt goed op verschillende platformen, hoewel er afhankelijk van het externe besturingssysteem soms wat problemen met machtigingen kunnen optreden.

Geavanceerd: Kopiëren via een jump host of proxy

Als je te maken hebt met servers achter een bastionhost of jumphost, voeg dan de -o "ProxyJump user@jump_host"optie toe. Maar let op: soms is de syntaxis of de SSH-versie op je machine niet compatibel. Controleer je SSH-configuratie of probeer deze stappen:

scp -o "ProxyJump user@jump_host" username@from_host:/path /local/dir

Voor stille of uitgebreide modi voegt u op dezelfde manier eenvoudigweg -qof toe -v.

Samenvatting van SCP-opties

  • Haven: -P [port]
  • Compressie: -C
  • Bandbreedtelimiet: -l [Kbit/sec]
  • Behoud de volgende eigenschappen: -p
  • Jump-host: -o "ProxyJump user@host"
  • Stille modus: -q
  • Uitgebreid: -v
  • Recursieve kopie: -r

Notities en beste praktijken

  • Test nieuwe opties of externe configuraties altijd eerst met kleine bestanden. Grote overdrachten kunnen soms vastlopen of problemen met machtigingen veroorzaken.
  • SCP overschrijft bestanden zonder waarschuwing, dus controleer je paden goed of overweeg een back-up te maken als de inhoud gevoelig is.
  • Als de SSH-sleutels niet werken of als u herhaaldelijk om bevestiging wordt gevraagd, controleer dan uw machtigingen en de configuratie van de agent.
  • Op Windows is native SCP niet zo eenvoudig; het is beter om iets als WinSCP te gebruiken of PowerShell met OpenSSH te installeren.
  • Bij problemen met host-sleutels of SSH-waarschuwingen kan het nodig zijn om uw known_hosts te resetten of sleutels opnieuw te genereren.

Conclusie

SCP is nog steeds een prima keuze voor eenvoudige, veilige overdrachten, maar het kan inderdaad soms problemen opleveren. Van het oplossen van permissieproblemen tot het beheren van grote bestanden over instabiele netwerken: het belangrijkste is om je SSH-configuratie en -opties goed in de gaten te houden. Bij sommige configuraties kan een kleine aanpassing aan de poorten of het toevoegen van compressie al een wereld van verschil maken. Ik weet niet precies waarom het werkt, maar op de ene machine loste het wijzigen van de poort of het verwijderen van known_hosts alles direct op. Op een andere machine lag het probleem bij de permissies.

Samenvatting

Hopelijk helpt dit bij het oplossen van een aantal typische SCP-problemen. Niet elke oplossing werkt in alle omgevingen, maar hé – in ieder geval heb je nu een paar extra trucjes in je gereedschapskist. Veel succes, en moge je overdrachten snel en foutloos verlopen.

Samenvatting

  • Controleer eerst de SSH-verbinding als SCP mislukt of vastloopt.
  • Los problemen met machtigingen of SSH-sleutels op door de machtigingen van ~/.ssh te controleren.
  • Geef poorten expliciet op met-P
  • Schakel compressie in voor grote bestanden met-C
  • Beperk de bandbreedte om netwerkcongestie te voorkomen.-l
  • Gebruik dit -pom tijdstempels en machtigingen te bewaren.
  • Configureer jump hosts met-o "ProxyJump"