Tuesday 22 November 2016

Setting up easy SSH connection.

We'll need to generate a key in order to access our server easily from our home machine.
To generate a key, enter the following on your client PC(probably the PC you're working on)

ssh-keygen -t rsa

You will be prompted to enter a filename of the key generated. It's not necessary, but should you decide to enter one, make sure to enter the full path of where you would like the file to be saved.

Enter file in which to save the key (/home/demo/.ssh/id_rsa):

Next, you will be asked if you want to enter a passphrase. This is great if you'd like to add some security client-side so that anyone using your machine can't just gain access to the remote server.
You will be prompted twice for the password:


Enter passphrase (empty for no passphrase):


This is what you'll see after completing the ssh-keygen operation:
ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/demo/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/demo/.ssh/id_rsa.
Your public key has been saved in /home/demo/.ssh/id_rsa.pub.
The key fingerprint is:
4a:dd:0a:c6:35:4e:3f:ed:27:38:8c:74:44:4d:93:67 demo@a
The key's randomart image is:
+--[ RSA 2048]----+
|          .oo.   |
|         .  o.E  |
|        + .  o   |
|     . = = .     |
|      = S = .    |
|     o + = +     |
|      . o + o .  |
|           . o   |
|                 |
+-----------------+

Our next step is to copy the key to the remote server. Lucky for us there's an easy command to achieve this:


ssh-copy-id root@789.123.45.67

Enter the remote username and the remote IP as above.

You will be prompted for the password of the remote server. Enter it and the key will be copied over.

Once done, test if it all worked out by doing an SSH to the server and seeing if it logs you in automatically:

ssh root@89.123.45.67



Well done, so far so good. Now let's make things a little easier by adding an alias to the ssh command, that way we won't have to remember every server's IP address.

sudo vim ~/.bashrc

Ofcourse this assumes you use bash, I use zsh for example and had to edit my ~/.zsh file instead.

Once your file is open, enter the following on a new line:
alias myaliascommand="ssh root@89.123.45.67"

Press escape and run: :wq  to save the file and exit.

Your bash aliases will be available on the next new terminal you open, but if you're like me, you don't like closing and opening terminals for no reason, simply run:
$ source ~/.bashrc

..and this will refresh the .bashrc resource in your bash.

Now test by typing myaliascommand and see how it connects to the server with a single command!

I hope this saves you tons of time, bye now!

Monday 21 November 2016

Some trickyness when setting up git

Tell git to remember your passwords forever with:
git config --global credential.helper store

Set your upstream forever with:
git config --global push.default current

Make git remove the annoying .orig files after merging:
git config --global mergetool.keepBackup false




Bonus commands:

Make git forget about a file that's already tracked:You've been tracking a file and realised it's not a good idea, so you added the file to the .gitignore, but git still wants to commit the changes you made to it, what do you do?

Make git forget about that file:
git rm --cached

Devlog 8: AI and Radar explanation.