SSH-login med Google Authenticator
onsdag, oktober 29th, 2014Anslut med ssh – få en kod i din smartphone – skriv in koden – logga in! Hur coolt som helst!
Läs mer i min artikel på ExploreCurate om hur du konfigurerar hela kalaset.
Anslut med ssh – få en kod i din smartphone – skriv in koden – logga in! Hur coolt som helst!
Läs mer i min artikel på ExploreCurate om hur du konfigurerar hela kalaset.
Ofta när jag ska hjälpa någon av våra utvecklare med ett problem är min första fråga: Vad står det i loggen? Apache och php har väl utvecklade loggfunktioner och man kan med hjälp av dom få en ganska bra fingervisning om vad som orsakar problemet. Exempelvis kan det stå:
[Fri Mar 02 17:38:08 2012] [error] [client 127.0.0.1] PHP Parse error: syntax error, unexpected ';' in /var/www/smhifb/application/controllers/start.php on line 64</pre>
Just det här felet beror förmodligen på att det saknas en slutparantes eller klammer på rad 64 i filen start.php (Nu var det här bara ett exempel, eftersom rena syntaxfel så klart hittas av din IDE, som jag utgår ifrån att du använder.)
När jag utvecklar har jag alltid ett terminalfönster öppet som visar loggarna i realtid så att jag snabbt ska kunna se om det händer något som inte borde hända, när man surfar in i applikationen. Även om man inte märker några fel när man surfar så händer det ändå att det dyker upp fel i loggen. Oftast är detta då varningar eller notiser, vilka inte är fatala för körningen av koden. Det är väldigt vanligt att man ändrar i php.ini så att notiser och till och med varningar inte visas i loggen, koden fungerar ju ändå. Gör inte det! Se till att varningar och notiser loggas och fixa till felen! Den enda anledningen till att folk slår av notiser och varningar är att dom antingen är lata eller programmerar dåligt. Det är lika vanligt att de som har varningar och notiser aktiverat inte bryr sig om att rätta till dessa fel, eftersom det fungerar ändå. Var inte en lat programmerare! Konsekvensen blir att koden inte blir så optimerad som den kunnat vara, dessutom kan små fel bli betydligt större längre fram.
Ett litet tips, använd programmet multitail. Multitail är ett program som körs i konsollen och kan visa flera loggar samtidigt i realtid. Vanligen när man vill se en logg i realtid använder man sig av kommandot tail med växeln -f, exempelvis:
tail -f /var/log/httpd/error_log
Med multitail kör man istället
multitail /var/log/httpd/error_log /var/log/httpd/access_log
Detta medför att terminalfönstret delas på två och visar en logg i varje del. Det är otroligt smidigt att se error-loggen i den ena delen och access-loggen i den andra. Det allra bästa med multitail är att det har syntax highlighting, det skriver alltså ut olika saker i olika färger, vilket gör det enklare att se i loggen.
Så, en kort sammanfattning.
Kod ska vara kul och är det också med rätt förutsättningar, en av dessa förutsättningar är att veta vad som är fel och framför allt veta att det är fel.
Kommandot apt-get, som används för att hantera paket i bland annat Ubuntu, har ett roligt påskägg inbyggt. Normalt använder man det exempelvis så här:
apt-get install lynx
Kommandot ovan laddar ner och installerar den textbaserade webbläsaren lynx. Om man däremot skriver:
apt-get moo
så visas en ascii-bild av en liten ko som säger ”Have you mooed today?” Det är såna här små saker som gör Linux så otroligt charmigt att arbeta med 🙂