Hur man använder SSH-rör på Linux
Som de flesta kommandon på Linux kan SSH användas med inmatning / utmatning omdirigering via |
(Unix Pipe). SSH kan också användas med denna rörledning. Grundbegreppet här är att förstå hur Unix-rörledningen fungerar.
När du förstår hur rören fungerar kan du bli seriöst kreativ. Den här artikeln täcker vad som händer när du kombinerar Unix-rör och SSH. Det bör noteras att eftersom Unix-rör kan vara nästan vad som helst, finns det ingen tvekan om att vara kommandon som inte är på denna lista skulle också vara användbar.
Förstå Unix Pipeline
Rör på Unix (och i tillägg, Linux) används för att kedja program tillsammans och få dem att fungera tillsammans. Om du till exempel använder cat
kan du visa innehållet i en fil, men om du använde ett rör, kan du kedja cat
till det more
kommandot för att göra filen lättare att läsa igenom.
kattfil1 | Mer
Grundidén är här: program1 fileX | program2
program1 fileX | program2
. Det är dock inte bara begränsat till en fil och två program. Piping kan bli ungefär lika avancerad som du behöver för att vara med så många modifierare som du kan tänka dig.
Obs! Vissa typer av rör kan utföras utan att använda |
. Vissa kan använda >
istället.
5 Användbara SSH-rörkommandon
Nu när Unix-rörledningen ger lite mening, låt oss se vad vi kan göra med SSH-protokollet och rören. Här är en lista med några riktigt bra rör som de flesta kommer att hitta användbara när man kombinerar med SSH.
1. Komprimerad filöverföring
Glöm inte att använda scp
att överföra filer. du kan göra det med ett enkelt SSH-rörkommando. Inget behov av att installera någonting.
tjära czf - / home / localuser / filefolder | ssh [email protected] tar -xvzf -C / home / remoteuser /
Detta använder tjärprogrammet för att komprimera dina data lokalt och sedan pipes över SSH. Därifrån tar fjärrmaskinen filen och extraherar den till den mapp du angav. Du kommer aldrig att se ett .tar-arkiv, men det använder sig av en.
2. Köra ett lokalt manus på en fjärrmaskin (eller fjärrkontroll på lokal)
Fick ett skript skrivet på din dator och vill testa det verkligen snabbt? Inget behov av att trycka filen på den eller något sådant. Rör bara din lokala fil via SSH och kör den här vägen istället!
ssh [email protected] 'bash -s' <scriptfile.sh
Med det här kommandot tar du bort behovet att trycka filer runt på fjärrmaskiner för att utföra skalskript. Det sparar mycket tid på lång sikt.
3. Fjärr säkerhetskopiering av hårddisken
Vill du säkerhetskopiera din dator till din fjärrmaskin utan att ta hårddisken ut fysiskt och ansluta den? Det är lätt att göra, och med ett SSH-rör, inte mindre. Så här fungerar det:
sudo dd om = / dev / sda | ssh [email protected] 'dd of = sda.img'
Detta använder sig av dd
kommandot. Den använder din lokala enhet (sda) som källa, och sedan pipes utmatningen över SSH för att skrivas till en rå bildfil.
Obs! Den enhet som du kanske vill säkerhetskopiera kan ha en annan beteckning. Använd kommandot lsblk
att ta reda på vilken enhet du vill säkerhetskopiera. Detta kommando kommer att berätta vad /dev/
att använda i if=
delen för kommandot ovan.
4. Återställning av hårddisken på hårddisken
Vill du återställa den bilden du bara har säkerhetskopierat till din maskin? Det är lätt. Den här gången fungerar kommandot i omvänd ordning. Återigen, om den enhet du återställer till heter annorlunda än vad som anges i exemplet, använd lsblk
kommandot för att ta reda på vad /dev/
det är listat som.
ssh [email protected] 'dd if = sda.img' | dd av = / dev / sda
Kör det här kommandot, och den .img-fil du skapade kommer att återställas över nätverket till den hårddisk som du anger.
5. Skicka en fil
Att skicka en enskild fil via SSH är enkelt. Så här gör du med rör.
kattfil | ssh [email protected] "cat> remote"
Kommandot använder kattkommandot för att skicka en fil genom ett rör. Du kan också hämta den filen med följande kommando:
ssh [email protected] "cat> remote" <fil
Slutsats
Även om det inte verkar så imponerande, kan rör förenkla och ändra hur du använder kommandon på Linux. Även om denna lista framhäver några av de mest användbara, är det bara toppen av isberget. Med hur mångsidigt den vertikala linjen är, är möjligheterna att leda saker genom SSH oändliga.
Känna några bra SSH-pipingkommandon? Berätta för oss nedan!
Bildkredit: Wikimedia Commons