SSH: Här är vad du behöver för att komma åt din webbplats var som helst nu.

Avslöjande: Ditt stöd hjälper till att hålla webbplatsen igång! Vi tjänar en remissavgift för några av de tjänster vi rekommenderar på denna sida.
Säkert skal


Secure Shell (SSH) är ett nätverkskommunikationsprotokoll som används för att skapa en krypterad anslutning mellan en lokal klientapplikation och en fjärrserver. SSH gör det möjligt för klienten och servern att kommunicera säkert över ett offentligt, osäkrat nätverk, till exempel internet.

Termen SSH används ibland för att referera till applikationerna som används för att kommunicera med en fjärrserver. Men SSH hänvisar faktiskt till själva kommunikationsprotokollet, inte till applikationen som används för att möjliggöra kommunikation mellan klienten och servern.

SSH-applikationer

SSH används hela tiden av webbansvariga och utvecklare. Det finns två huvudsakliga sätt som proffs på webbplatser använder SSH oavsett om de inser det eller inte.

  1. RSH, eller fjärrskaladkomst, med ett program som PuTTY, ger åtkomst till kommandoraden på en fjärrserver.
  2. Säkert filöverföringsprotokoll, eller SFTP, stöds av många populära FTP-klienter, inklusive Filezilla, och gör det möjligt att överföra filer till och från en fjärrserver via en anslutning som är säkrad av SSH.

Förutom RSH och SFTP används SSH för att säkra flera andra typer av serveråtkomst inklusive rsync-filöverföring och synkronisering, FTP över SSH (FISH), säker kopia (SCP) och fullfjädrad virtuell privat nätverk (VPN) åtkomst till servern med OpenSSH.

SSH: s historia

SSH utvecklades första gången 1995 av Tatu Ylönen som ett direkt svar på en lösenordsniffande attack riktad mot Helsingfors tekniska universitet där Ylönen var medlem av fakulteten. Innan SSH släpptes var kommunikation mellan en klientapplikation och en fjärrserver över ett osäkrat nätverk möjligt tack vare protokoll som rlogin, RSH, Telnet och rexec. Men alla dessa protokoll överförde information, inklusive inloggningsuppgifter, i klartext. Detta innebar att någon med rätt teknisk kompetens och åtkomst till nätverket potentiellt kan fånga meddelanden och få tillgång till serverinloggningsuppgifter i klartext.

SSH var en omedelbar hit. Den första versionen, SSH-1, släpptes som freeware i juli 1995 och användes av 20 000 användare spridda över 50 länder på mindre än sex månader. År 2000 hade antalet aktiva SSH-användare exploderat till 2 miljoner.

Ylönen grundade SSH Communications Security i december 1995 för att marknadsföra och vidareutveckla protokollet. Medan den ursprungliga versionen av SSH byggdes med olika gratiskomponenter och släpptes som öppen källkodsprogram, blev SSH med tiden alltmer proprietär. 1999 använde en grupp utvecklare den senaste open source-versionen av SSH för att skapa en gratis och open source-version av SSH. Denna gratisversion utvecklades till det som idag kallas OpenSSH och är integrerat i operativsystemen Unix, Linux och Windows.

Hur fungerar SSH?

Kommunikation över ett nätverk anslutet säkrat av SSH kräver att tre olika lager fungerar i samklang:

  • Transportlager: Detta lager hanterar utbytet av krypteringsnycklar mellan klientapplikationen och fjärrservern och hanterar SSH-anslutningen under hela sessionen.
  • Användarautentiseringslager: Detta lager låter användaren autentisera sig till servern med hjälp av en mängd olika autentiseringsmetoder. Den vanligaste metoden är ett användarlösenord, men lösenordslösa och engångslösenordsverifieringssystem kan också användas beroende på vilken klientapplikation som används.
  • Anslutningsskikt: Detta är det lager som SSH-klientgränssnittet fungerar över och inkluderar skalåtkomstapplikationer som PuTTY, säkra FTP-klienter som Filezilla och alla andra SSH-klienter.

Den tredelade arkitekturen i SSH är en del av det som gör protokollet så populärt. Tack vare den avkopplade designen kan den användas för många olika syften genom att utforma klientapplikationer för att utföra specifika uppgifter över en anslutning som är säkrad med SSH.

Resurser

SSH-resurser finns i överflöd. Om du vill lära dig hur du kan använda SSH för att bättre hantera en fjärrserver är här några utmärkta resurser att konsultera.

SSH: The Secure Shell, The Definitive Guide (2001) av Barrett och Silverman är en utmärkt O’Reilly-bok, om den är lite daterad. Men det är fritt tillgängligt online och det första kapitlet ger en mycket bra teknisk introduktion till SSH. Om du är ny inom SSH och vill bättre förstå den tekniska grunden för detta kommunikationsprotokoll tar det några minuter att granska det första kapitlet i denna text.

SSH: Vad och hur är en självstudie av Jonathan Cutrell som är fritt tillgänglig på Envato Tuts +. Denna handledning går igenom processen för att ställa in SSH på ett lokalt system och en fjärrserver, konfigurera lösenordsfri inloggning till servern och demonstrerar hur man skjuter kod till ett git-arkiv på fjärrservern. Detta är en särskilt bra resurs om du är en utvecklare som vill vara värd för git-förvar på en privat fjärrserver.

Complete Secure Shell Course av Muhammed Torkey är en online-kurs tillgänglig på Udemy. Kursen introducerar säkert skal, förklarar hur det fungerar, täcker SSH-installation och konfiguration och introducerar en mängd olika SSH-applikationer. Efter att du har slutfört denna kurs kommer du att kunna använda SSH för fjärrterminalåtkomst, filöverföring, som VPN, och också veta hur man gör SSH så säker som möjligt.

SSH Tutorial – Grundläggande serveradministration med SSH av LearnCode.academy är en snabb och kort översikt över hantering av en fjärrserver med SSH. På mindre än 10 minuter demonstrerar den här YouTube-videon hur man använder SSH för skalåtkomst, filöverföring med rsync och lösenordsfri inloggning.

SSH Tutorial för Linux är en detaljerad handledning som går tillbaka till 1999, men har uppdaterats flera gånger sedan dess. Det täcker lösenordsfri inloggning och en mängd SSH-applikationer. Det är tillämpligt på Linux- och Unix-baserade system, inklusive Mac OS X. Om du använder en Windows-maskin, ta en titt på SSH Tutorial för Windows istället.

SSH-klienter

Som vi har diskuterat är SSH inte ett program utan ett protokoll. Men det pratar oftast som om det är. I slutändan är det ett slags program som gör det möjligt för användare att logga in på andra system och göra alla normala saker de skulle kunna göra om de satt vid den andra datorns konsol.

Val, val

Så den verkliga frågan är vilken SSH-klientapplikation du ska använda.

På Unix-maskiner hittar du vanligtvis ett program som heter ssh. För det mesta är detta faktiskt OpenSSH. Vi kommer att diskutera de viktigaste kunderna nedan.

Men i det här dokumentet kommer vi att fokusera på PuTTY. Detta beror på att det har ett antal fördelar för andra system. Dessutom är det tillgängligt på de flesta operativsystem.

SSH använder

Som vi diskuterat används SSH främst för att låta människor använda kommandoskal på fjärrmaskiner på ett säkert sätt. På detta sätt är det uppenbarligen en ersättning för Telnet och rlogin.

I de flesta Unix-system är faktiskt både telnet- och rlogin-kommandona helt enkelt länkar till ssh-programmet. För normal datoranvändning använder ingen Telnet och rlogin längre.

Det finns många andra avancerade sätt som SSH används. Till exempel kan det användas för att skapa ett virtuellt privat nätverk (VPN), vilket gör att användare kan skapa ett privat nätverk ovanpå ett offentligt nätverk som internet genom att skapa en krypterad tunnel mellan olika maskiner.

Men det huvudsakliga sättet SSH används bortsett från dess användning som terminal är dess användning för att överföra filer. Secure FTP (SFTP) använder SSH för att hålla den överförda informationen privat.

Spackel

PuTTY var en av de första applikationerna som implementerade SSH. Det är en fullständig applikation för att kommunicera med andra system och för att överföra filer – allt gjort säkert. Grundprogrammet distribueras som en enda fil. Du kan helt enkelt ladda ner PuTTY och köra den från kommandoraden. Men i sin fullständiga form består den av flera delar:

  • SSH-klient med anslutningshanterare (PuTTY);
  • Secure FTP (PSFTP);
  • Säker kopia eller SCP (PSCP);
  • Autentiseringsagent för lagring av privata nycklar för andra delar av PuTTY (Pageant);
  • Generator av RSA- och DSA-nycklar, liknande ssh-add i OpenSSH (PuTTYgen).

PuTTY utvecklades först för Microsoft Windows. Under åren har det skickats till många Unix-system samt Mac OS X. Utvecklingen fortsätter på äldre system som det klassiska Mac OS. Som ett resultat är det trevligt att känna till, eftersom det är tillgängligt på nästan alla system som du kan använda.

Komma igång med PuTTY

PuTTY är tillräckligt lätt att använda för att du antagligen bara kan ladda ner den och börja använda den. Kolla in PuTTY-nedladdningssidan. Men det finns olika resurser för att hjälpa dig:

  • Vanliga frågor: projektets FAQ-lista är omfattande och kommer att besvara de flesta av dina frågor
  • Putty Tutorial: SiteGrunds enkla handledning som kommer att komma igång på en Windows-maskin.
  • Använda SSH i PuTTY (Windows): en grundläggande introduktion som visar hur du laddar ner och installerar PuTTY och kommer igång.
  • Ladda ner och konfigurera kitt: En mycket användbar video av Michael Holtz Jr som kommer att få PuTTY installerad och konfigurerad på din maskin. Det ger också några fina tips för hur du använder programmet.

PuTTY-alternativ

Det finns många alternativ till PuTTY. Speciellt är OpenSSH standard SSH-systemet på Unix-maskiner. Vi har delat upp alternativen i gratis- och betalversionerna. I allmänhet är betalversionerna utformade för företagsanvändare – men inte alltid.

Gratis kunder

  • ConnectBot: en SSH-klient för Android.
  • Dropbear: en SSH-klient och server för Unix-baserade operativsystem.
  • lsh: GNU-projektets SSH-klient och server.
  • OpenSSH: OpenBSD Secure Shell – standarden på Unix-operativsystem.
  • PACManager: ett SSH / FTP / Telnet-sessionhanteringsverktyg för Linux.
  • Tera Term: en Windows-baserad terminalemulator.

Kommersiella kunder

Även om alla dessa program kostar pengar, har många av dem 30-dagars provversioner som du kan ladda ner.

  • AbsoluteTelnet: ett Windows-program som kombinerar SSH- och SFTP-klienter med olika terminalemulatorer.
  • Bitvise: en kombinerad Windows SSH-server och klient .
  • Private Shell: en fullständig Windows SSH-klient som inkluderar SFTP och mycket mer.
  • PenguiNet: en Windows-baserad SSH-klient med flikar för att upprätthålla många anslutningar samtidigt.
  • Reflektion: en terminalemulator baserad på SSH.
  • SecureCRT: en SSH-klient tillgänglig för Windows, Mac och Linux.
  • Tectia SSH: företagets SSH-system från företaget som uppfann SSH.
  • TN3270 Plus: en Windows telnet-emulator som inkluderar SSH-säkerhet.
  • Token2Shell: en Windows-baserad SSH-klient med extra funktioner som sömlös fjärrkopiering.
  • Xshell: en Unix-baserad SSH-terminalemulator.
  • ZOC-terminal: en SSH-terminal för Windows och Mac.

Icke-terminala SSH-applikationer

SSH används i många andra applikationer. Det är mest speciellt associerat med FTP och andra filöverföringsfunktioner. Men det används också för mer avancerade funktioner som fjärrskrivbord och säkra X-Windows-system.

  • CRAX Commander: en egen Mac-filhanterare som inkluderar SSH och SFTP.
  • Cryptzone MindTerm: ett Java-baserat bibliotek för att inkludera SSH i dina egna applikationer. De erbjuder också ett fristående program. Det är gratis för personlig och begränsad kommersiell användning.
  • FileZilla: en gratis FTP-applikation (klient och server) som stöder både SFTP och FTPS. Om du gör mycket molnberäkning kanske du vill kolla in FileZilla Pro eftersom det ger åtkomst till Amazon S3, Google Drive, Microsoft OneDrive och många andra resurser.
  • MobaTerm: en förbättrad Xterm-applikation med inbyggd SSH. MobaTek erbjuder en gratis hemversion och en rimlig professionell utgåva.
  • ProxyCap: en kommersiell applikation för att kontrollera din användning av proxyservrar med inbyggt SSH-stöd på Windows- och Mac-datorer.
  • SFTPPlus: ett kommersiellt filöverföringssystem för företag inklusive SFTP och SCP båda över SSH version 2.
  • SmartFTP: ett kommersiellt Windows-baserat program som huvudsakligen fokuserar på filöverföring, men även terminalemulering med SSH.
  • CodePlex Terminals: en kommersiell fjärrskrivbordsklient, med en hel del mer.
  • WinSCP: en gratis SSH-baserad FTP för Windows, baserad på PuTTY.

Kundöversikt

För individer är PuTTY ett utmärkt val, eftersom det finns på nästan alla datorer du kanske arbetar med. Men om du har speciella behov finns det många alternativ tillgängliga för dig. Oavsett kommer du att veta att du kan arbeta i integritet.

Sammanfattning

SSH är ett flexibelt kommunikationsprotokoll som kan användas för att skapa en säker kommunikationstunnel mellan en lokal klientapplikation och en fjärrserver. När du har känt till SSH kommer du att använda en mängd olika SSH-klientapplikationer för att säkert arbeta på en fjärrserver med samma kontrollnivå som du skulle ha om du hade fysisk åtkomst till servern.

Ytterligare läsning och resurser

Vi har fler guider, självstudier och infografik relaterade till internet och webbutveckling:

  • Introduktion till webbstandarder: den här artikeln kommer att börja skapa sidor och appar som fungerar överallt.
  • Den ultimata listan med verktyg för webbansvariga A-Z: hitta alla verktyg du behöver för att göra det enkelt att hantera din webbplats.

Ultimate Guide to Web Hosting

Om du ska överföra filer runt internet är det troligt att du kommer att använda en eller flera webbservrar. Kolla in vår ultimata guide till webbhotell. Det förklarar allt du behöver veta för att göra ett välgrundat val.

Ultimate Guide to Web Hosting

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me