Login over SSH using SSH key

I just set this up and it works like a charm. However I imagine that I won’t be doing this every day, so I am writing this note to my future self.

How logging in on a remote server using an SSH key works (intuition)

This is sort of my non-expert, but technically viable understanding of how all of this magic works.

  1. Create a pair of keys using the command ssh-keygen – one public key, and one private key.
  2. Upload the public key (that can be used to confirm the identity something generated using of the private key I believe), to the server (each user has a ~/.ssh/authorized_keys on the server).
  3. Make sure the .ssh directory on the server is only readable by your user.
  4. Make sure the directory where you store your key pair on your local computer is also only readable by you.
  5. When logging in, point ssh to use your private key, for the correct user on the remote server.

Commands

Create your ssh key pair using

ssh-keygen -t rsa -b 2048 -f ~/.ssh/id_rsa -C "Enter an optional comment about your key"

You can use another name than id_rsa. A public companion with the suffix .pub will also be created. You do not have to enter a passphrase, e.g. when using the key via a script.

Protect your local .ssh directory using the following:

chmod 700 ~/.ssh && chmod 600 ~/.ssh/* 

Upload the public key via ssh:

cat ~/.ssh/id_rsa.pub | ssh user@remote-server.com 'cat - >> ~/.ssh/authorized_keys'

Protect the .ssh directory on your remote server (remote shell) using:

chmod 600 ~/.ssh/authorized_keys && chmod 700 ~/.ssh/

Login using

ssh -i ~/.ssh/id_rsa user@remote-server.com

where id_rsa is your private key.

Advertisements

Tweetdeck Column Terminology

Tweetdeck column terminology

Following a comment made by @segelstrom, I decided to try Tweetdeck again. However, when setting up my columns I was confused by the names of the columns, so I decided to check the documentation. I found the column descriptions and names on Twitter’s web confusing. Below are the column names and their descriptions as written on the help page as of September 23, 2013.

  • Timeline: Home timeline for a specific account (any account)
  • Interactions: Interactions for a specific account, including when the account’s Tweets are retweeted, favorited, or mentioned, and also includes when users follow the account
  • Mentions: Only includes when users mention a specific account
  • Followers: Follow activity for a specific account
  • Messages: Direct messages for a specific account
  • Search: A column for a specific search term
  • Lists: Assign or create a list to be displayed within a column
  • Tweets: Tweets from a specific account
  • Favorites: Tweets marked as favorites from a specific account
  • Trends: A column dedicated to specific worldwide trends
  • Activity: What’s happening with the accounts you follow
  • Inbox: Direct messages from all your authorized accounts in aggregate
  • Scheduled: Your scheduled Tweets

I suggest the following/need the following explanations:

  • Timeline: I think the explanation should read “Tweets from people one of your accounts follows.”
  • Interactions: I think the description of the interaction column is great.
  • Mentions: I propose the following wording of the description: “Mentions for one of your accounts”
  • Followers: I think the description should be “Shows when people follow you”, avoid using the term “activity” as you use this for your Activity column.
  • Messages: I propose a change of wording of the description to “Direct messages sent and received for a specific account.”
  • Search: No ambiguity here.
  • Lists: A note specifying that these are not lists saved on Twitter would be nice.
  • Tweets: Perhaps renaming the column to My Tweets, or at least specifying the wording of the description to: “Tweets made by one of your added accounts” (in contrast to tweets from any selected twitter user).
  • Favorites: Improve wording of description to: “Tweets one of your accounts has marked as a Favorite”.
  • Trends: The description should read: “Create a search column for a currently trending topic”, as this column does not display currently trending topics.
  • Activity: This is a strange column. First, the name of the column would be much clearer if if was Activity from people I follow, but as this is to long, perhaps Others’ activity or Follow’s activity, might work. Also, the description needs to read more like the description of the Interactions column, e.g. “Shows the activity of the people you follow, including their favorites, follows, excluding their tweets and retweets.”
  • Inbox: I propose you change the wording to “Sent and received direct messages from all your accounts.”. The name of the column could also be changed to All messages, as it does not only contain received messages. This also shows its relation to the Messages column.
    Scheduled: No ambiguity here.

Why Everyone F*cking Loves Science — and Elise Andrew

See on Scoop.itfnurlotastic bi-weekmonthly-ish

With 6.8 million followers, Elise Andrew, the founder of the “I Fucking Love Science” Facebook page, wields an influence over science geeks and fans.

See on mashable.com

Comparing lenses

I got my ReasyCase yesterday! The case feels fine. It is sturdy, reasonably slim, and carries a small serrated metal pice which also works as a bottle opener. Also on the back is a slim USB memory (16GB) which doubles as a stand for the case – handy!

With it came two lenses. Since I already had a couple of Gizmon lenses, I made a comparison between the two pairs.

20130827-081920.jpg

20130827-081927.jpg

20130827-081937.jpg

The top image compares the lenses marked as “fisheye”. As you can see, the Gizmon on the right is the best.

The middle image compares the wide lenses. Not much difference, but again, the Gizmon is wider.

The bottom picture is taken without a lens.

The wide lenses can be “opened” and used as macro lenses. Here the ReadyCase lens has a better magnification than the Gizmon.

20130827-082742.jpg

Thoughts from my first Mentimeter experience

Today I tried Mentimeter for the first time in the classroom. Previously, I have been using the ActiVote system from Promethean, but as I only have access to 32 units and my student group has 51 students, I had to find an alternative solution.

Last year I tried to use Socrative instead of the ActiVote, and got quite bad feedback from the students. The ActiVote, as a physical device has an ease of use for the user that I believe is very hard to transfer to a screen based system. With a physical device, there is no need to log in or start anything, you just pick up the device and press a button.

Anyway, I prepared a set of questions to use at the end of my lecture. Mentimeter’s question presentation is much better than Socrative’s and ActiVote’s. Also, it is good that the students are able to see the question and answer on the device if they find it hard to read the question projected in the front of the lecture hall.

My use of the student response system today was to implement peer instruction. I do not use it as a grading mechanism, so not having to create an account or provide a user name when using Mentimeter works out great for me. This is also possible in Socrative and GoSoapBox which is another system I have been looking into.

Of these services, Mentimeter is the only one to provide a projector view. What both Socrative and GoSoapBox use which Mentimeter does not provide is a virtual “room” or “event” that students can join. GoSoapBox e.g. lets me create an event and a custom event ID which the students enter to join. Once in the room or event, I can open questions that are “pushed” to the students interface. They do not need to enter a code each time.

However, as I only had one session at the end of the lecture, the lack of a room in Mentimeter was not an issue. The process was also streamlined enough that I do not think it will be a large obstacle when I have multiple quiz sessions in future lectures.

Overall, I will continue to use Mentimeter for my lectures. I think I will have to try GoSoapBox also though.

Installed CrashPlan on my ReadyNAS Ultra 4

I use CrashPlan+ (20% discount link, I do not get any bonus) to backup my computer (Mac) to the cloud in addition to using TimeMachine. I just installed CrashPlan on my ReadyNAS Ultra 4 for automatic backup 🙂 Here is how I did it (adapted from these instructions. You will have to buy an extra subscription for the NAS or upgrade your existing subscription to a Family subscription. Installing CrashPlan on the ReadyNAS itself rather than adding the NAS when mounted to your computer means that the NAS can backup itself. In my case this also means a faster backup since I use WiFi on my computer and the NAS is directly connected to my router.

Go to the CrashPlan-install directory and run ./install.sh

% cd CrashPlan-install
% ./install.sh

Below follows a dump of my interactions:

Do you accept and agree to be bound by the EULA? (yes/no) yes

What directory do you wish to install CrashPlan to? [/usr/local/crashplan]
/usr/local/crashplan does not exist.  Create /usr/local/crashplan? (y/n) [y]

What directory do you wish to link the CrashPlan executable to? [/usr/local/bin]

What directory do you wish to store backups in? [/usr/local/var/crashplan] /crashplan-backup
/crashplan-backup does not exist.  Create /crashplan-backup? (y/n) [y]

What directory contains your SYSV init scripts? [/etc/init.d]

What directory contains your runlevel init links? [/etc/rc2.d]

Your selections:
CrashPlan will install to: /usr/local/crashplan
And put links to binaries in: /usr/local/bin
And store datas in: /crashplan-backup
Your init.d dir is: /etc/init.d
Your current runlevel directory is: /etc/rc2.d

Is this correct? (y/n) [y]
  • Configure the client on the ReadyNAS via GUI on desktop by following the instructions for configuring a headless client. Below is a summarization of the steps.
    • Quit the CrashPlan Desktop client on the machine you want to use to configure the client on the ReadyNAS (machine will be referred to as 1.1.1.1).
    • Edit the ui.properties file (on a Mac: /Applications/CrashPlan.app/Contents/Resources/Java/conf/ui.properties) to use service port 4200 (uncomment and edit the line servicePort parameter)
    • Create a SSH port forward to your ReadyNAS (from a Mac, open a terminal and type ssh -N -L 4200:localhost:4243 root@<ReadyNAS IP-address>)
    • Start the CrashPlan Desktop client on 1.1.1.1
    • Configure backup of ReadyNAS (login to account, set up subscription, select folders to backup).

Update: Here is a post on how to update the CrashPlan client/Java version.

Some say backup, I call that copy-paste

I watched this video expecting to find out about some nice way to sync highlights and notes made via Kindle to Evernote. Turns out, the guy shows how to select text on the Amazon Kindle Page and paste it into Evernote.