Överför filer säkert med hjälp av SCP i Linux
Det vanligaste sättet att få terminal åtkomst till en avlägsen Linux-maskin är att använda Secure Shell (SSH). För att fungera måste Linux-servern köra en SSH-server (OpenSSH) och i andra änden behöver du en SSH-klient, något som PuTTy i Windows eller kommandoradsverktyget ssh
på Linux eller andra Unix-liknande operativsystem som FreeBSD .
Att attrahera SSH är att kopplingen mellan de två maskinerna är krypterad. Det innebär att du kan komma åt servern från var som helst i världen, säker på att anslutningen är säker. Den verkliga kraften hos SSH är dock att den säkra anslutningen det ger kan användas för mer än bara terminalåtkomst. Bland dess användningsområden är möjligheten att kopiera filer till och från en fjärrserver.
För att förbereda servern måste du installera openssh-server
. På Ubuntu kan du installera det från Ubuntu Software Center eller använda kommandoraden:
sudo apt-get install openssh-server
Därefter måste du upptäcka serverns IP-adress. På Ubuntu visas IP-adressen i nätverksappleten i Systeminställningar eller du kan använda kommandoraden:
ifconfig
I utgången, leta efter linjen som börjar med inet
under eth0
. I detta exempel är IP-adresserna på servern 192.168.1.101.
För att testa SSH-anslutningen, gå till Linux-klientmaskinen och skriv:
ssh 192.168.1.101
Där 192.168.1.101 är serverns IP-adress. Ange ditt användarnamn och lösenord när du blir ombedd och du kommer att anslutas till fjärrmaskinen. Om du får en fråga om "äkta värdighet kan inte etableras" svara bara "ja" på frågan. Det är en säkerhetskontroll som är utformad för att säkerställa att du ansluter till din faktiska server och inte en bedragare.
Nu när du har testat SSH-anslutningen kan du börja kopiera filer mellan de två maskinerna. Säker kopiering uppnås med hjälp av scp
. Det grundläggande formatet för scp
kommandot är:
scp / filepath / till / fil / till / kopiera användare @ IP-adress: localpath
Till exempel, för att kopiera filen "backup.zip" från den lokala maskinen till "backup" -mappen i hemkatalogen för användaren "gary" på fjärrservern med IP-adressen 192.168.1.101, använd:
scp backup.zip [email protected]: säkerhetskopior /
Liknande när du ansluter med ssh
, kommer du att bli uppmanad till lösenordet. Du blir inte uppmanad till användarnamnet som det anges i kommandot.
Du kan också använda vilda kort så här:
scp * .zip [email protected]: säkerhetskopior /
För att kopiera en fil från fjärrservern till den lokala maskinen, vänd bara parametrarna:
scp [email protected]: säkerhetskopior / backup.zip.
Notera punkten i slutet av kommandot, vilket betyder "den aktuella katalogen", som det gör med standard cp
eller mv
kommandon.
Och detsamma med vilda kort:
scp [email protected]: säkerhetskopior / *. zip.
För att rekursivt kopiera en katalog till en fjärrserver använder du alternativet -r
:
scp -r säkerhetskopior / [email protected]: säkerhetskopior /
Och för att kopiera en rekursivt kopiera en katalog från fjärrservern till den lokala maskinanvändningen:
scp -r [email protected]: säkerhetskopior /.
Om du inte vill placera inkommande filer i den aktuella katalogen (notera punkten i slutet) kan du ange ett annat katalognamn:
scp -r [email protected]: säkerhetskopior / säkerhetskopior-från-server /
Slutsats
scp
är ett kraftfullt och ändå bekvämt sätt att kopiera filer till och från en server utan att behöva konfigurera FTP eller andra fildelningsservrar. Det har den extra bonusen att den är säker (något som inte kan sägas för en standard FTP-installation). För att gå vidare, försök experimentera med -C
alternativet, vilket möjliggör komprimering under kopian eller -l
som begränsar bandbredd under kopian.