De meest gebruikelijke manier om terminal-toegang te krijgen tot een externe Linux-machine is om Secure Shell (SSH) te gebruiken. Om te werken moet de Linux-server een SSH-server (OpenSSH) hebben en aan de andere kant heb je een SSH-client nodig, zoiets als PuTTy in Windows of het ssh opdrachtregelprogramma op Linux of andere Unix-achtige besturingssystemen zoals FreeBSD .

De aantrekkingskracht van SSH is dat de verbinding tussen de twee machines versleuteld is. Dit betekent dat u overal ter wereld toegang hebt tot de server, veilig in de wetenschap dat de verbinding veilig is. De echte kracht van SSH is echter dat de beveiligde verbinding die het biedt, kan worden gebruikt voor meer dan alleen terminaltoegang. Een van de toepassingen is de mogelijkheid om bestanden van en naar een externe server te kopiëren.

Om de server voor te bereiden, moet u het openssh-server installeren. Op Ubuntu kunt u het vanuit het Ubuntu Software Center installeren of via de opdrachtregel:

 sudo apt-get install openssh-server 

Vervolgens moet u het IP-adres van de server ontdekken. Op Ubuntu wordt het IP-adres weergegeven in de netwerkapplet in Systeeminstellingen of kunt u de opdrachtregel gebruiken:

 ifconfig 

Zoek in de uitvoer naar de regel die begint met inet onder eth0 . In dit voorbeeld is het IP-adres van de server 192.168.1.101.

Om de SSH-verbinding te testen, gaat u naar de Linux-clientcomputer en typt u:

 ssh 192.168.1.101 

Waarbij 192.168.1.101 het IP-adres van de server is. Voer uw gebruikersnaam en wachtwoord in wanneer daarom wordt gevraagd en u wordt verbonden met het externe apparaat. Als u een vraag krijgt over de 'echtheid van de host kan niet worden vastgesteld', antwoordt u 'ja' op de vraag. Het is een beveiligingscontrole die is ontworpen om ervoor te zorgen dat u verbinding maakt met uw eigen server en niet met een bedrieger.

Nu u de SSH-verbinding hebt getest, kunt u beginnen met het kopiëren van bestanden tussen de twee machines. Veilig kopiëren wordt bereikt met behulp van de scp . Het basisformaat van de scp opdracht is:

 scp / filepath / to / file / to / copy gebruiker @ IP-adres: localpath 

Als u bijvoorbeeld het bestand "backup.zip" van de lokale computer naar de map "backups" in de basismap van gebruiker "gary" op de externe server met het IP-adres 192.168.1.101 wilt kopiëren, gebruikt u:

 scp backup.zip [email protected]: backups / 

Net zoals wanneer u verbinding maakt via ssh, wordt u om het wachtwoord gevraagd. U wordt niet gevraagd om de gebruikersnaam zoals opgegeven in de opdracht.

Je kunt ook wilde kaarten als deze gebruiken:

 scp * .zip [email protected]: backups / 

Om een ​​bestand van de externe server naar de lokale computer te kopiëren, draait u gewoon de parameters om:

 scp [email protected]: backups / backup.zip. 

Let op de punt aan het einde van de opdracht, wat 'de huidige map' betekent, net als bij de standaard cp of mv opdrachten.

En hetzelfde met wilde kaarten:

 scp [email protected]: backups / *. zip. 

Om recursief een map naar een externe server te kopiëren, gebruikt u de optie -r :

 scp -r backups / [email protected]: backups / 

En kopieer een recursief kopiëren van een map van de externe server naar het gebruik van de lokale computer:

 scp -r [email protected]: backups /. 

Als u de inkomende bestanden niet in de huidige map wilt plaatsen (let op de stip aan het einde), kunt u een andere mapnaam opgeven:

 scp -r [email protected]: backups / backups-from-server / 

Conclusie

scp is een krachtige en toch handige manier om bestanden van en naar een server te kopiëren zonder dat u FTP of andere servers voor het delen van bestanden hoeft in te stellen. Het heeft de toegevoegde bonus dat het veilig is (iets dat niet gezegd kan worden voor een standaard FTP-installatie). Om verder te gaan, probeer eens te experimenteren met de -C optie, die compressie tijdens de kopie of de optie -l mogelijk maakt die de bandbreedte tijdens het kopiëren beperkt.