cool hit counter

Adding remote ssh access to your Raspberry Pi without port forwarding

Written by Mike Young on Wednesday, 26 of November , 2014 at 9:39 am

So, if you’re like me, you probably don’t want to run around all over the place carrying your Pi with you. Sure it’s nice and small, but it’s also a bit bulky to put in your front pocket, and heaven help you if you sit down on it, while it’s in your back one. Of course you can put it in a brief  case or backpack, but I like to travel super light.

Anyway, so I like to keep my Pi tucked away in my office and out of sight, but I also like to have access to it from wherever I might be. And this is where Weaved’s services come in handy. I used to be a big fan of port forwarding, till I started getting attacked by those scanning for an open SSH port, regardless of whether I was using a different port assignment or not. So I stopped doing that a while ago. My alternative to port forwarding turned to LogMeIn’s Hamachi for quite some time. But there were aspects that I just didn’t like. I didn’t like that thy said the free account could support up to 10 devices, but then I could never really have more than 5 in a free group. And then I really hated running everything through their proxy. Eventually, they wore me down by making things unstable and/or making it more difficult to find working installers for Mac and Linux.

Weaved’s service is free and for just $25 per year you can get a lot of additional capabilities, plus the removal of various popup messages. But the nice thing about it is that it allows me to do something Hamachi doesn’t– grant secure access to a specific service vs. granting access to an entire network. In this respect, Weaved is different than your ordinary VPN service. It provides a greater degree of granularity and establishes secure sessions to your various services you wish to share or expose. If you like, you can read what Techcrunch had to say about Weaved.

So that’s pretty nice.

Once a service has been configured, you can easily get a time-sensitive session from Weaved's portal.

Once a service has been configured, you can easily get a time-sensitive session from Weaved’s portal.

Screen Shot 2014-11-26 at 7.29.13 AM

Once you have the session URL and port number, you’re ready to connect. And URL and port hashes will timeout after a few minutes of non-use, which greatly cuts down on security threats.

Another thing I really like about their service is that it allows me to connect to my devices either via their cloud as a proxy or via a direct peer to peer connection, which is especially nice if you’re pumping data, video, audio, or anything sizable. I like that they can establish a secure, remote connection and then get out of the way. And unlike Hamachi, they maintain their code in github, so that whatever isn’t readily supported by their installers can be crafted together by yours truly, which means I have as much flexibility as I want to customize new applications.

Wanna know something else pretty cool? They have secure notification services built-in and fully customizable, along with an app for iOS. So if I want to tie a particular event on your Pi to an alert that you receive on your iPhone, they give you all the code for that as well. Here, I simply used their sample Yo notification, to send a quickie notification to my iPhone.

Notification is made quite easy via Weaved and all source code is provided.

Notification is made quite easy via Weaved and all source code is provided.

The latency is quite short from when I initiated the Yo command to the time the popup hit my iPhone.

The latency is quite short from when I initiated the Yo command to the time the popup hit my iPhone.

I’ve pretty much got Weaved installed onto all of my devices and services. And they have a very active and growing community, that is mostly geared towards Raspberry Pi developers, though that’s not all inclusive. The company has been around for several years and has over 500,000 customers, including a boat load of surveillance customers and lots and lots of embedded devices.

If you want remote connectivity, you could use some of the web-only solutions out there. But if you’re like me, you’re remotely accessing ssh, nfs, remote desktop, etc. Well, this is the tool to help you. And they currently support various Arm platforms, x86 for Linux, Mac OS X, as well as Windows. And then they seem to support just about every embedded camera, router, and what not that is capable of bootstrapping a custom firmware.  And if you really wanna go nuts and start receiving messages on your TV or other appliances, they even showed integration with Alljoyn 14.06 at the recent AllSeen Alliance Summit.

And if you really want to get smart about your IoT development and/or data center management and control, you should start checking out the source code and building your own more intelligent applications and infrastructure.

Enjoy!

Leave a comment

Category: Alljoyn,Allseen,Pi,Raspberry Pi,Raspbian,Techy Stuff

Building AllSeen Alliance’s Alljoyn Core on Raspberry Pi

Written by Mike Young on Wednesday, 16 of July , 2014 at 10:49 pm

One of the little development wonders that I have really enjoyed working with lately is the Raspberry Pi. It’s a great little, very capable computer that has lots of 3rd party add-ons available for it. In fact, it has developed quite the ecosystem in just the couple of years it has been around. If you wish to use it as a platform for IoT development, then you have to seriously consider using the Alljoyn stack from AllSeen Alliance (@allseenalliance). Getting up and running for the first time can be a bit daunting as there are numerous options when you first walk through the git repository. So, here’s a little cheat sheet for getting up and running fast and building the core services. Bear in mind that I am working with the latest version of Raspbian, which is the Pi’s version of Debian, and 14.06 beta release of Alljoyn.

I’d like to give a special shout out to Joe Speed (@joespeed) of Linux Foundation (@linuxfoundation) for the pointer to a site out of China. Hopefully between our two write-ups you can get up and running with little to no pain.

 

Here we go:

  • sudo apt-get install build-essential
  • sudo apt-get install maven
  • sudo apt-get install scons
  • sudo apt-get install git
  • sudo apt-get install curl
  • sudo apt-get install openssl
  • sudo apt-get install libssl-dev
  • sudo apt-get install libjson0
  • sudo apt-get install libjson0-dev
  • mkdir ~/bin
  • echo “export PATH=$PATH:~/bin” >> ~/.bashrc
  • curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
  • chmod a+x ~/bin/repo
  • source ~/.bashrc
  • mkdir -p ~/WORKING_DIRECTORY/alljoyn
  • cd ~/WORKING_DIRECTORY/alljoyn
  • git config —global user.name “[your name]”
  • git config —global user.email “[your email address]”
  • repo init -u https://git.allseenalliance.org/gerrit/devtools/manifest
  • repo sync
  • export AJ_ROOT=$(pwd)
  • sudo ln -s /usr/bin/g++ /usr/bin/arm-angstrom-linux-gnueabi-g++
  • sudo ln -s /usr/bin/gcc /usr/bin/arm-angstrom-linux-gnueabi-gcc
  • scons OS=linux CPU=arm WS=off OE_BASE=/usr
  • sudo ln -sf ~/WORKING_DIRECTORY/alljoyn/core/alljoyn/alljoyn_core/build/linux/arm/debug/dist/cpp/lib/liballjoyn.so /lib/arm-linux-gnueabihf/liballjoyn.so
  • cd ~/WORKING_DIRECTORY/alljoyn/core/alljoyn/alljoyn_core/build/linux/arm/debug/dist/cpp/bin
  • ldd alljoyn-daemon
  • ./alljoyn-daemon –version

After executing alljoyn-daemon –version, you should see something like the following:

AllJoyn Message Bus Daemon version: v0.0.1

Copyright (c) 2009-2014 AllSeen Alliance.

Build: AllJoyn Library v0.0.1 (Built Wed Jul 16 19:20:47 UTC 2014 by myoung – Git: alljoyn branch: ‘(no branch)’ tag: ‘v14.06rc3′ (+68 changes) commit ref: 645991ec7c1762ade3a33cc6dbaae7e6aba65195)

Now you should be up and running with Alljoyn on your Pi.

Enjoy!

-Mike

Leave a comment

Category: Alljoyn,Allseen,IoT,Pi,Raspberry Pi,Raspbian,Techy Stuff

NFV and disaggregation of accelerators

Written by Mike Young on Wednesday, 7 of May , 2014 at 7:04 am

There has been a lot of activity over the past couple of months with respect to the acceptance of hardware accelerators within NFV. I can still recall back this time last year when accelerators were a four letter word within NFV. Now, we’re talking about creating entire shelves of them. For me, this notion of disaggregation is much more important that what others think about when they talk of other initiatives like OCP (Open Compute Project).

The reason for this is simple… we need accelerators in our various platforms. But we also need to be able to get better amortization of such additional hardware. Simply burdening every server blade with such technology is too costly. This drives up CAPEX considerably. And it simply contributes to the ongoing problem of over provisioning.

Instead, with disaggregation, we will some day have the ability to dynamically bind an accelerator to an application on an as needed basis. And this could be reconciled back to an customer SLA or some kind of equivalent business justification. And this is important. When we can rationalize and properly account for an additional business expense, we can understand how to ensure that we’re properly charging for it. So, those that truly need the functionality, not just everyone, can pay for the capability.

I’m happy to say that this subject was accepted into section 4.4.2 of the Compute Domain GS document, last month in the Cambridge face to face INF meeting.

Now comes the challenge of creating an ecosystem of accelerator shelves, which can be used as NFVI (NFV Infrastructure) gear. This is the fun part of NFV!

Leave a comment

Category: NFV,Techy Stuff

Our little Boo just got her first stripe

Written by Mike Young on Wednesday, 7 of May , 2014 at 6:42 am

I’m so excited for our little girl– not so much because she got the stripe itself, but because she started Jiu Jitsu three and half months ago and has stuck with it. Not only did she stick with it, but she simply loves it. She hates to miss Jiu Jitstew (as she calls it). We had no idea that they were advancing the kids last night, so I wasn’t there. I suppose the biggest thrill for me was that the first thing she wanted to do, after class, was to call me and tell me.

This is Boo getting her stripe from her professor, Milton.

This is Boo getting her stripe from her professor, Milton.

I don’t usually have New Years resolutions, but as the year was winding down, one of the things I knew I wanted to do was to get back into training. Injuries that I had incurred back in CO were simply messing me up for so long. And now that I was finally operating pain free, I wanted to get back in and start training at the first of the year. Then it struck me that I might be able to sweet talk my family into giving it a try.  Surprisingly, Nikki was all for it and Boo wanted to give it a try too. So, after several attempts to get us over to the school, we finally succeeded. We went a couple of times so they could get an idea of how the kids and adult classes operated. And sure enough, their nerves got to them a bit. It can be quite intimidating to new students– seeing people rolling around grappling and choking one another.

Our little family has come a long way since the beginning of the year. Not only is Boo doing so well, but Nikki has been amazing. She’s like a sponge and wants to do BJJ 24/7. We even have mats laid out on the living room floor so that we can train there vs on our bedroom floor. Who would’ve imagined this could come true. Now, it’s just me feeling like the weak link in the family :) I have been doing BJJ for almost 5 years and miss the feeling of making progress. It’s nice to live a bit through them. And when I think about how it has become such a part of our family, all of my personal doubts and concerns seem to melt away. BJJ is a lifestyle. It’s simply not about stripes or belts, or even tapping the other guy out. I get to stay fit and also rest assured that my family might actually be able to defend themselves when the time comes. And there’s a lot of peace and comfort in that knowledge.

 

Leave a comment

Category: BJJ

NFV Is About Acceleration Too

Written by Mike Young on Tuesday, 24 of September , 2013 at 6:29 am

In this article from the 5th, http://bit.ly/17GTsst, Marc Cohn says many good things, but seems to feel the bulk of the attention is on the management side of things, and that little attention has been given to Networking:

The NFV Use Cases are intended to drive the Virtualization Requirements, which in turn drive the End-to-End Architecture. NFV encompasses functionality in the compute, storage, and network domains. To date, the majority of the effort has been focused on the software virtualization framework, along with management and orchestration. Consequently, limited attention has been paid to the network.

I’d add that even less attention has been paid to Storage. There are so many things to consider when it comes to that — block vs file, scaleout vs scalein, what protocols, security schemes, etc. The list goes on and on.

Lately, I spend a lot of time thinking about hardware accelerators. The simple reality is the bottleneck is the storage part of the infrastructure, when it comes to virtualization. With that said, we still need the acceleration as well. And much time has been spent in the INF working group to discuss this.

Management and Orchestration (MANO) and SWA (Software Architecture) have their challenges primarily because it’s quite difficult to get multiple vendors to agree on APIs that are normally deemed proprietary. Often, software has to be re-architected to support a vendor-agnostic methodology. And when you consider that NFV is about the WHOLE system, e.g., Compute, Networking, Hypervisor, Application, Storage, Management, Business Logic, etc., that’s quite a lot of cats to try and herd.

Just felt the need to elaborate on his article as the INF working group meets at Brocade for the next couple of days to hash out all of these implications.

One of the reasons I love NFV is it’s where the rubber meets the road.

Wish us luck!

Comments (1)

Category: NFV


This site is totally for my own purposes; to vent, rant, elaborate and to generally discuss my thoughts and views. Sometimes I write about theological items, or political perspectives. And sometimes I even write technical tidbits. It varies.


It's my sincerest desire that during the course of my writings, I somehow find a way to either amuse, enlighten or otherwise enrich you. Please stop by for a while and enjoy.