How to Monitor Keyboard Keystrokes Using ‘LogKeys’ in Linux

Key Logging is the process of storing keystrokes with/without the knowledge of user. Keylogging can be hardware based as well as software based. As clear from the name, a hardware based keylogger does not depends upon any software and keystroke logging is done at hardware level itself. Whereas a software based keylogger depends upon a special software for keylogging.

There are number of keylogger software applications for almost all the platforms be it Windows, Mac, Linux. Here we are throwing light on an application package called Logkeys.

What is Logkeys?

Logkeys is a Linux keylogger. It is more updated than any other available keylogger, Moreover logkeys don’t crash the X server, and appears to work in all the situations. Logkeys creates a log of all characters and function keys. Moreover logkeys are aware of Alt and Shift and works well with serial as well as USB keyboards.

There are a lot of keyloggers available for Windows but this is not the case with Linux. Logkeys is not better than any other keylogger application for Linux but certainly it is more updated than other.

Installation of Logkeys in Linux

If you’ve ever installed a Linux tarball packages from source, then you can easily install logkeys package. If you haven’t ever installed a package in Linux from source yet, then you need to install some missing packages like C++ compilers and gcc libraries before proceeding for installation from source.

$ sudo apt-get install build-essential		[on Debian based systems]
# yum install gcc make gcc-c++			[on RedHat based systems]

Let’s proceed for the installation, first grab the latest logkeys source package using wget command or use git to clone it as shown:

-------------------- Download Source Package -------------------- 
$ wget https://github.com/kernc/logkeys/archive/master.zip
$ unzip master.zip  
$ cd logkeys-master/   

OR

-------------------- Use Git to Clone -------------------- 
$ git clone https://github.com/kernc/logkeys.git
$ cd logkeys

Now build and install logkeys.

$ ./autogen.sh
$ cd build         
$ ../configure
$ make
$ sudo make install 

Now run the locale-gen.

$ sudo locale-­gen
Sample Output
Generating locales (this might take a while)...
  en_AG.UTF-8... done
  en_AU.UTF-8... done
  en_BW.UTF-8... done
  en_CA.UTF-8... done
  en_DK.UTF-8... done
  en_GB.UTF-8... done
  en_HK.UTF-8... done
  en_IE.UTF-8... done
  en_IN.UTF-8... done
  en_NG.UTF-8... done
  en_NZ.UTF-8... done
  en_PH.UTF-8... done
  en_SG.UTF-8... done
  en_US.UTF-8... done
  en_ZA.UTF-8... done
  en_ZM.UTF-8... done
  en_ZW.UTF-8... done
Generation complete.

Usages of logkeys

  1. logkeys ­s : Start logging keypress.
  2. logkeys ­k : Kill logkeys process.

For detailed information of logkeys usages option, you can always refer to.

# logkeys –help

or

# man logkeys

Starting the application logkeys using the following command.

$ sudo logkeys ­-s

Now running a lot of commands.

# ls
# pwd
# ss
# ifconfig

Terminate the process logkeys.

# logkeys -k

Check the log file which by default is ‘/var/log/logkeys.log‘.

# nano /var/log/logkeys.log
Keyboard Track in Linux

LogKey Logs

To uninstall logkeys, remove all scripts and manuals:

$ sudo make uninstall # in the same build dir

Future Developments Planned

  1. To add support for sending logs via email
  2. To add support for logging clipboard content
  3. To add support for mouse event/mouse click event

References

https://github.com/kernc/logkeys

All the information provided is strictly for educational purpose, Tweaking this article by any means or using the above information to log others users machine is against law and punishable. That’s all for now. Don’t forget to provide us with your valuable feedback. Stay tuned, healthy and connected to Tecmint for more Linux and FOSS news.

Best Affordable Linux and WordPress Services For Your Business
Outsource Your Linux and WordPress Project and Get it Promptly Completed Remotely and Delivered Online.

If You Appreciate What We Do Here On TecMint, You Should Consider:

  1. Stay Connected to: Twitter | Facebook | Google Plus
  2. Subscribe to our email updates: Sign Up Now
  3. Get your own self-hosted blog with a Free Domain at ($3.45/month).
  4. Become a Supporter - Make a contribution via PayPal
  5. Support us by purchasing our premium books in PDF format.
  6. Support us by taking our online Linux courses

We are thankful for your never ending support.

Ravi Saive

I am Ravi Saive, creator of TecMint. A Computer Geek and Linux Guru who loves to share tricks and tips on Internet. Most Of My Servers runs on Open Source Platform called Linux. Follow Me: Twitter, Facebook and Google+

Your name can also be listed here. Got a tip? Submit it here to become an TecMint author.

RedHat RHCE and RHCSA Certification Book
Linux Foundation LFCS and LFCE Certification Preparation Guide

You may also like...

27 Responses

  1. nz says:

    Does this work only on the terminal — or also on websites and such?

  2. Jeevan Kodadala says:

    Any insight on this issue —

    https://github.com/kernc/logkeys/issues/163

  3. hush says:

    all is good but in the log file i see gibrish. i dont know but it looks like yours. any idea how to fix it?

  4. Anthony says:

    I’m not getting anything when entering sudo locale-gen. It just says Generating locales (this may take a while) then Generation complete.
    I’m running Kali 2 Distro

    • Ravi Saive says:

      @Anthony,
      That means the command executed successfully, then you can use following command start logging keys:

      # logkeys ­s
      

      You can Kill logkeys process by typing:

      # logkeys ­k
      
  5. amit says:

    how to remove keylogger in cent os

    • Ravi Saive says:

      @Amit,
      If you’ve installed from source, just find and remove all files related to keylogger to complete remove it from system.

Leave a Reply to Ravi Saive Cancel reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.