Using SSH without password

The problem

Ok so you are using Linux or other Unix(Solaris, *BSD) favors to deploy your systems. If so you are most probably using ssh to log in on those servers. So to login to some external machine you will have to type something like this:

ssh 73.32.32.22 -l nikolavp

and then when prompt for password, enter it. scp, rsync and friends will require almost the same amount of work.
This is bad for the following reasons:

  • It requires you to know the IP address or the DNS name whatsoever instead of doing an alias for yourself
  • You will have to remember the username for that host
  • You will have to remember the password for that host
  • You will have to break your fingers to type that over and over again

Well if you are like me you most probably don’t want to type all that much just do your work. Here I will provide a setup that will save your world :)

Create an alias for the host

SSH provides a convenient shortcuts for making internal aliases for the hosts. You can define a host alias for an IP address(or DNS resolvable name) and the username for that host. So to not use the password for our imaginary host from the example above, we have include the following in our ~/.ssh/config file(create it if it doesn’t exist)

Host=foo
Hostname=72.32.32.22
User=nikolavp

Create a ssh key

You should forget about your password as authenticating method, it is far safer to use a key for that and some sort of cryptography like RSA. You can follow some guide from the internet on how to do that exactly. For example this one seems pretty simple and straightforward. Except that there is a far better command now for the last two steps – its called ssh-copy-id. You can man it if you want to know what it does.

Setting up a keymanager

To be able to unlock your key once on every session start you should be using a key manager. Likely most of the big desktop environments have done this for you – gnome has gnome-keyring and kde has the kde-wallet. On other more primitive environments you will be on your own. You can look at the guide from Archlinux for more information here.

Final thoughts

After following the steps from this simple and short guide you should be able to log into your servers without any password with just it’s alias. For our host from the example, I will just have to write

ssh foo

How to install kbgoffice qt4

I finally had the time to play a little bit with the build system of kbgoffice and the qt4 port i forked a year ago. Now the program can be installed with a simple make install rule from the build directory. To be able to compile it you will need a compiler, the qt4 header files and development tools. For example on my kubuntu it needs:

  1. build-essential
  2. qt4-dev-tools
  3. cmake
  4. subversion(to get the source)

You can get all that with a simple command sudo aptitude install build-essential qt4-dev-tools cmake subversion . After satisfying all the dependencies you need to get the source code with
svn co http://svn.assembla.com/svn/kbgoffice/trunk kbgoffice
go to the kbgoffice directory, create a new build directory, compile
cd kbgoffice;mkdir build;cd build;cmake ../;make
and if you wаnt to install the program
sudo make install
Then to startup the program just type kbgoffice in the konsole or the terminal client you are using <Alt+F2> works fine too. Have fun :D .

I didn’t find how to make an uninstall rule so there is no make uninstall option for now. To delete the files installed, just delete the /usr/local/share/bgoffice directory and the /usr/local/bin/kbgoffice executable file :) .

Vrapper – a new way to develop inside Eclipse

Yesterday while I was again searching for nice tools and plugins for eclipse which is what I use for my day to day programming now, I found that there is a new project that want to provide vim like input scheme in eclipse. I was pretty skeptical at first because I have already tried

and wasn’t happy from the results at all. Eclim is not bad in the last release but it is trying to make vim a full blown IDE monster which is not what I want. I just want to edit my files with the keystrokes that I am used to, but the problem is that I am now used to some of the eclipse keystrokes – +o , +m and +f come to my mind. If you are like me then you are lucky – enter Vrapper. The project is pretty new, but it does just what I want. Macros and find/replaces are missing for now(you can invoke the latter with +f in eclipse) but all in all most of the stuff is working fine like:

    • the h, j, k, l moving keys
    • cw, dw, A, dd and cc
    • u and +r

    so if you are a long time vim user and you are trying to get used to eclipse or you are using it for something try the plugin. In my opinion it is the best solution out there.

Openfest2008

From last week i finally have internet here in Sofia and things are becoming much better. This year there will be again an Openfest here in Bulgaria. I hope, that I won’t miss it this time. Last year I couldn’t visit the fest and there weren’t any uploaded videos out there in the net. I can see that the site is now updated so i will watch the uploaded videos when i have time. This week is full of nice events. First there is a new course in TU sofia which will describe the philosophy of Open source – more information here. Next there will be two nice lectures in our faculty:

 

The speech of Steeve Jobs

This speech is a must see. You can find it here – the link is with BG subtitles, but i am sure that if you search in google you can find the original version or translated to your language. The speech is too good to be explained in a comment, so I will just leave the link. I knew some of the things, but his thinking is really nice and I hardly recommend the video :) . The link is also in my bookmarks already :D

Book organizing over the internet

Hmm today I noticed that we at home have too many books. For example I want to read a novel and I am not sure if we have that or not and where it stays on those shelves and in bookcases. Enter books.google.com with My Library support. Now i only need to organize those a little :) . Another nice open software for that is Tellico (yes I use KDE). I will have to choose one of them for the job.