glossary:ssh

Secure shell

Secure-shell (ssh) is suitte aan mogelijkheden, maar in de basis vooral een protocol waarmee versleutelde verbindingen kunnen worden gemaakt. Je kunt hiermee bestanden uploaden en interactieve sessies met bijv. onze uploadservers opzetten.

OSX en Linux zijn standaard al voorzien van Openssh.

Maak een ssh keypair aan:

Om een key-pair te maken, tik dan in een terminalvenster:

ssh-keygen -t ed25519 -o

Dit maakt een key van type ed25519 en schrijft deze weg in openssh formaat (-o), welke beter bestand is tegen brute force attacks. Oudere versies van ssh ondersteunen het ed25519 formaat en/of het openssh formaat (-o) nog niet. In zo'n geval kan de -o weggelaten worden en/of een RSA key aangemaakt worden middels:

ssh-keygen -t rsa -b 4096 -o

Na een wachtwoord (passphrase) ingevoerd te hebben heeft u na enige seconden een private en public key in de '.ssh/' directory:

id_rsa / id_ed25519 private key ; zorg ervoor dat de private key ook daadwerkelijk private blijft, geef deze key niet aan derden
id_rsa.pub / id_ed25519.pub public key; uitsluitend het .pub bestand dient u aan ons te verstrekken.

Gratis/opensource SFTP/SCP clients:

Een wat uitgebreidere commerciele client voor mac is Transmit. Transmit ondersteund het kunnen syncroniseren van twee ftp locaties en kan integreren met Finder van OS X.

SSH client

  • Putty Een van de meest bekende ssh clients voor windows; helaas geeft putty standaard een verkeerd formaat key. Waarover later meer. Met putty is de functionaliteit over verschillende programma's verspreid (zoals puttygen voor het aanmaken van een ssh key)
  • Mobaxterm !Aanrader! Een zeer veelzijdige client die zowel te gebruiken is voor SFTP als voor ssh sessies. Biedt mogelijkheden voor het gebruik van tabs, syntax highlighting en meer. Mobaxterm heeft alle functionaliteit geintegreerd in een programma
  • Daarnaast kunnen we Cygwin met openssh aanraden, al krijg je dan veel meer dan een ssh client; het biedt een redelijk uitgebreide unix beleving onder windows.

Verder zijn er commerciele pakketten van Vandyke SecureCrt, Ssh communications Tectia Client, Hummingbird SecureTerm, en er zullen er vast nog meer zijn.

SFTP client

Er zijn diverse client (en server) softwarepakketten beschikbaar.

  • Mobaxterm, kan zoals vermeld ook sftp/scp
  • WinSCP een opensource SCP/sftp client
  • Filezilla, deze bekende ftp client ondersteund ook sftp/scp

Volg bij het gebruik van cygwin en mobaxterm de procedure zoals beschreven staat voor Linux en MacOS voor het genereren van ssh keys.

In sommige gevallen komt het voor dat er voor toegang tot het platform een SSH-key nodig is. Een SSH-key is opgebouwd uit 2 delen:

  • public-key
  • private-key

Deze 2 vormen samen de 'sleutel' om toegang te krijgen tot het platform. Om een dergelijke SSH-key aan te maken kan je als Windowsgebruiker het programma genaamd Puttygen downloaden. Nadat het programma gedownload is en het wordt opgestart, komt het volgende scherm tevoorschijn:

putty-gen-start-scherm.jpg

Om een SSH-key aan te maken, dient er op 'generate' geklikt te worden. Het programma zal wel verzoeken om een aantal bewegingen met de muis te maken.

putty-gen-generate.jpg

Nadat het genereren afgerond is komt het volgende scherm tevoorschijn:

Tips:

  • Voer een wachtwoord in om de SSH-key mee te beveiligen
  • Sla beide bestanden op met een herkenbare naam

putty-gen-passphrase.jpg

Bij het opslaan van de SSH-keys is het handig om het volgende te hanteren aan naamgeving:

  • public-key mag omroep.pub genoemd worden
  • private-key mag omroep.ppk genoemd worden

Dit maakt het overzichtelijk welk bestand naar ons gestuurd mag worden, namelijk de .pub (public). Het omroep.ppk bestand blijft in bezit van de gebruiker en dient in prive-bezit te blijven!

Filezilla werkt ook goed met sFTP (de 's' staat voor secure). Dit valt altijd samen met een SSH keypair. Wanneer de klant hier gebruik van wil maken hebben wij zijn 'public' key nodig om op de server te plaatsen. De klant dient de volgende handelingen uit te voeren om dit goed in te stellen:

  • Aanmaken host via 'File' –> 'Sitemanager'

filezilla_sftp_a.jpg

  • Via 'edit' –> 'Settings' kan je de private-key toevoegen middels 'add keyfile'

filezilla_sftp_b.jpg

Wanneer de private-key toegevoegd is, kan de gebruiker inloggen via een sFTP verbinding!

In sommige gevallen worden er bestanden door gebruikers geplaatst welke bijvoorbeeld met een 'punt' beginnen. Deze bestanden worden standaard niet getoond in de gemiddelde FTP client. We komen dit in de praktijk niet vaak tegen, maar het is handig om te weten hoe je dit soort bestanden toch kan tonen in Filezilla.

  • Start Filezilla op
  • Klik op Server
  • Vink 'Force showing hidden files' aan
  • Vink 'Don't show this dialog again' aan
  • Klik op OK

Er zijn ook gebruikers die WinSCP gebruiken als client om te verbinden met ons platform. Qua werking is WinSCP prima te vergelijken met FileZilla, echter is WinSCP meer gericht op 'secure' werken in tegenstelling tot FileZilla welke enigszins wat gebruiksvriendelijk is. We gaan in dit document in op het instellen van een verbinding in WinSCP in combinatie met sFTP. Kortom, een zelfde soort verbinding als in FileZilla maar dan in een andere client.

Het volgende scherm komt tevoorschijn zodra WinSCP opgestart wordt:

winscp_a.jpg

Om het zo gebruiksvriendelijk mogelijk te maken, klikken we op 'Stored Sessions' om een 'bookmark' aan te maken. In het voorbeeld zijn de velden ingevuld met voorbeelden, het mag voor zich spreken dat de gebruiker op de hoogte is van de gegevens/private key:

winscp_b.jpg

Nadat de gegevens ingevuld zijn, dient men op 'Save…' te klikken om de 'bookmark' een naam te kunnen geven. Ook hierbij is het weer aan te raden iets te kiezen waardoor de gebruiker snel kan zien welke sessies hij/zij op kan zetten.

Er kan niet met 100% zekerheid worden gezegd of een gebruiker wel of geen wachtwoord aan zijn keypair heeft gekoppeld. Dit weet de gebruiker zelf! Dit is tevens de reden dat het niet als ingevuld veld meegenomen is binnen de screenshots. Dit zou namelijk kunnen duiden op het feit dat er per definitie een wachtwoord gebruikt moet worden!

Wanneer je winSCP opstart kan je een vinkje zetten bij 'Advanced options'. Er komen nu wat meer opties tevoorschijn. De volgende stappen dienen doorlopen te worden: (zie 2e plaatje in beschrijving)

  • Klik op 'Directories'
  • Vink 'Cache visited remote directories' uit
  • Vink 'Permanent cache' uit
  • Vink 'Cache directory changes' uit

Dit kan van pas komen wanneer er bijvoorbeeld door Internet Beheer bepaalde paden aangepast worden.

Wanneer er gekozen wordt om putty als client te gebruiken om werkzaamheden uit te voeren op het hosting platform is onderstaande uitleg handig.

Onderstaand scherm is wat gepresenteerd wordt nadat putty gedownload en opgestart is.

Elk onderdeel waar een aanpassing doorgevoerd moet worden is gekenmerkt door een getal, hieronder de stappen die gevolgd dienen te worden:

  • Host Name is afhankelijk van het feit of er met productie of test verbinding gemaakt dient te worden.
  1. De poort wordt ingesteld op 22 (dit is als het goed is standaard al zo)
  2. Het 'connection type' dient op 'SSH' te staan
  3. De 'saved session' is handig om te gebruiken, kies hier een naam die overeen komt met de 'server' waarna je connect
  4. Het opslaan deze 'sessie' is aan te raden, handig voor toekomstige werkzaamheden!

Nu deze instellingen goed staan is het ook handig om te weten hoe je de 'private key' die aangemaakt is, aan de sessie toe te voegen. Selecteer in het hoofdscherm van putty de zojuist aangemaakte sessie. En volg daarna de volgende stappen.

  • In het 'menu' aan de linkerkant open je 'SSH' zodat 'AUTH' zichtbaar wordt. Wanneer dit gelukt is, kan je op de knop 'Browse' klikken.

Navigeer naar de directory waar de private-key zich bevind en voeg deze toe doormiddel van 'selecteren' en bevestigen met 'ok'

  • Klik hierna op 'Session' (#6) en sla opnieuw de sessie op zodat aan de sessie de host, port, protocol en private-key gekoppeld zijn.

Hierna is het een kwestie van de zojuist aangemaakte sessie te openen (dubbelklikken bijvoorbeeld) en de toegang tot het platform zou geregeld moeten zijn!

  • glossary/ssh.txt
  • Last modified: 2020/05/20 05:30
  • (external edit)