SFTP met public key authentication in Windows

In dit stuk beschrijf ik hoe je vanuit Windows kunt inloggen op een UNIX-server (Linux, Mac OS X, etc.) met SFTP en public key authentication. 

Waarom niet gewoon inloggen met een wachtwoord

Voor het inloggen op mijn server met SFTP gebruik ik altijd public key authentication. Dit is veiliger dan met wachtwoorden. Als ik het inloggen met wachtwoorden op mijn server toe sta dan gaan hackers allerlei gebruikersnaam en wachtwoordcombinaties uitproberen om in te loggen en misschien gokken ze een keer goed… Bij public key authenticatie gaat het inlogproces met bijna niet te kraken sleutels (keys) en is de kans op zo’n goede ‘gok’  bijna nul.

Voor meer informatie over public key authenticatie/encryptie kijk op http://nl.wikipedia.org/wiki/Public_key. 

 

Hoe doe je het

Als SFTP-programma gebruik ik WINSCP. Maar je kunt waarschijnlijk ook wel een ander FTP-programma gebruiken als deze SFTP met public key authentication ondersteund.

Sleutels genereren

Als je dit WINSCP installeert wordt ook het programma PuTTYgen geïnstalleerd (Als je in het startmenu naar WINSCP gaat zie je daar de map Sleutelhulpprogramma’s. In die map staat PuTTYgen). 

PuTTYgen hebben we nodig om de benodigde keys/sleutels te genereren:

  • Start PuTTYgen.
  • Kies bij parameters SSH-2 RSA.
  • Klik op Generate.

Het programma vraagt je nu de muis te bewegen boven het lege vlak om zo wat willekeurigheid te genereren. 

Na een tijdje kom je in een nieuw scherm.

Je kunt een wachtwoordzin (password phrase) opgeven om de private sleutel te beveiligen. Als je hier geen zin opgeeft kun je straks direct inloggen op de server zonder een wachtwoord in te tikken. Maar dat betekent ook dat iedereen die bij je computer kan straks zonder probleem kan inloggen op de server. Stel voor de veiligheid daarom altijd een wachtwoordzin in!

  • Type de wachtwoordzin in bij Passwordphrase. Maak er een echte zin van en niet alleen een woord. Dat is veiliger.
  • Je kunt bij comment de sleutel eventueel een naam geven zodat je later weet welke sleutel dit ook al weer was.
  • Bewaar de private sleutel op je computer door op de knop Save private key te drukken.   (Bijv. als privaat.ppk in een map sleutels in mijn documenten
  • Kopieër de publieke sleutel uit het schermdeel waar Public key for pasting… bovenstaat. Plak dit bijv. in NotePad en bewaar het tekstbestand op je computer. De publieke sleutel wordt straks op de server geplaatst.

Publieke sleutel op de UNIX server installeren

De publieke sleutel moet nu op de server geïnstalleerd worden.  Als je zelf niet bij de server kunt, mail de sleutel dan bijvoorbeeld naar de systeembeheerder. Je kunt dan deze paragraaf verder overslaan.

  • Log in op de account waar je toegang toe wil krijgen.
  • Kopiëer op de één of ander manier de publieke sleutel naar de server.
  • Maak een map .ssh in de gebruikers directory van je account aan als deze nog niet bestaat. (let op dit is een verborgen bestand)
  • Maak in de map het bestand authorized_keys aan als deze nog niet bestaat.
  • Plak de private sleutel in het bestand authorized_keys. Zorg dat alles op één regel staat.

Inloggen met WINSCP

Je kunt nu op de server inloggen met WINSCP

  • Open WinSCP
  • Geef de url van de server op bij Adres doelcomputer.
  • Geef de gebruikersnaam op van je account op de server.
  • Kies de private sleutel (of privé sleutel) die je hebt aangemaakt.
  • Klik op inloggen.
De eerste keer dat je inlogt krijg je een mededeling dat  de serversleutel niet gecachet is. 
  • Klik hier op JA.
Hierna kom je in een scherm waar je de wachtwoordzin moet opgeven
  • Geef de wachtwoordzin op.
Als het goed is ben je nu ingelogd op de server.

Wat is het verschil?

Misschien vraag je je af wat nou precies het verschil is met inloggen met een wachtwoord; ook bij deze methode moet je een wachtwoord opgeven om in te loggen.  Het verschil is dat je met dit wachtwoord niet op de server inlogd maar dat je met dit wachtwoord WINSCP toegang geeft tot je private sleutel. Met deze sleutel logt winSCP dan in op de server. 

Tags: , , ,

1 reactie op “SFTP met public key authentication in Windows”

  1. gun sales Zegt:

    I always like this is type of article. Thank you.

Mijn reactie