Shallow Thoughts : : Dec
Akkana's Musings on Open Source Computing and Technology, Science, and Nature.
Mon, 22 Dec 2014
I'm working on my Raspberry Pi crittercam again. I got a battery, so
it can be a standalone box -- it was such a hassle to set it up with
two power cords dangling from it at all times -- and set it up to run
automatically at boot time.
But there was one aspect of the camera that wasn't automated: if close
enough to the house to see the wi-fi router, I want it to mount a
filesystem from our server and store its image files there. That
makes it a lot easier to check on its progress, and also saves wear
on the Pi's SD card.
Only one problem: I was using sshfs to mount the disk remotely, and
ssh always prompts me for a password.
Now, there are a gazillion tutorials on how to set up an ssh key.
Just do a web search for ssh key
or
passwordless ssh key
. They vary a bit in their details,
but they're all the same in the important aspects. They're all the
same in one other detail: none of them work for me. I generate a new
key (various types) with no pass phrase, I copy it to the server's
authorized keys file (several different ways, two possible filenames),
I try to ssh -- and I'm prompted for a password.
After much flailing I finally found out what was missing.
In addition to those two steps, you need to modify your
.ssh/config file to tell it which key to use.
This is especially critical if you have multiple keys on the client
machine, or if you've named the file anything but the default id_dsa
or id_rsa.
So here are the real steps for making an ssh key.
Assume the server, the machine to which you want to ssh,
is named "myserver". But these steps are all run on the client
machine, the one from which you want to run ssh.
ssh-keygen -t rsa -C "Comment"
When it prompts you for a filename, give it a full pathname,
e.g.
~/.ssh/id_rsa_myserver.
Type in a pass phrase, or hit return twice if you want to be able to
ssh without a password.
Update May 2016: this now fails with
Saving key ~/.ssh/id_rsa_myserver failed: No such file or directory
(duh, of course the file doesn't exist, I'm asking you to create it).
To get around this, specify the file on the command line:
ssh-keygen -t rsa -C "Comment" -f ~/.ssh/id_rsa_myserver
Update, April 2018: Do use RSA: DSA keys have now been deprecated.
If you make a DSA rather than an RSA key, ssh will just ignore it
and prompt you for a login password. No helpful error message or anything
explaining why it's ignored.
Now copy your key to the remote machine:
ssh-copy-id -i .ssh/id_rsa_myserver user@myserver
You can omit the
user@ if you're using the same username on
both machines. You'll have to type in your password on myserver.
Then on the local machine,
edit ~/.ssh/config, and add an entry like this:
Host myserver
User my_username
IdentityFile ~/.ssh/id_rsa_myserver
The User line is optional, and refers to your username on myserver
if it's different from the one on the client. For instance, on the
Raspberry Pi, everything has to run as root because most of the
hardware and camera libraries can't work any other way. But I
want it using my user ID on the server side, not root.
Update July 2021: You may need one more step. Keyed ssh will fail
silently if it doesn't like the permissions in the .ssh/ directory.
If it's still prompting you for a password, try, on the remote server:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
Eliminating strict host key checking
Of course, you can use this to go the other way too, and ssh to your Pi
without needing to type a password every time. If you do that, and if
you have several Pis, Beaglebones, plug computers or other little
Linux gizmos which sometimes share the same IP address, you may run
into the annoying whine ssh is prone to:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
The only way to get around this once it happens is by editing
~/.ssh/known_hosts, finding the line corresponding to the pi,
and removing it (or just removing the whole file).
You're supposed to be able to turn off this check with
StrictHostKeyChecking no
, but it doesn't work.
Fortunately, there's a trick I discovered several years ago
and discussed in
Three SSH tips.
Here's how the Pi entry ends up looking in my desktop's
~/.ssh/config:
Host pipi
HostName pi
User pi
StrictHostKeyChecking no
UserKnownHostsFile /dev/null
IdentityFile ~/.ssh/id_pi
Tags: ssh, linux, raspberry pi, crittercam, security, maker
[
16:25 Dec 22, 2014
More linux |
permalink to this entry |
]
Thu, 18 Dec 2014
Recently Firefox started refusing to run flash, including youtube videos
(about the only flash I run).
A bar would appear at the top of the page saying
"This plug-in is vulnerable and should be upgraded".
Apparently Adobe had another security bug.
There's an "Update now" button in the Firefox bar, but it's a chimera:
Firefox has never known how to install plug-ins for Linux (there are
longstanding bugs filed on why it claims to be able to but can't), and
it certainly doesn't know how to update a Debian package.
I use a Firefox downloaded
from Mozilla.org, but flash from
Debian's flashplugin-nonfree package.
So I figured updating Debian -- apt-get update; apt-get dist-upgrade
-- would fix it. Nope. I still got the same message.
A little googling found several pages recommending
update-flashplugin-nonfree --install
; I tried that but
it didn't help either. It seemed to download a tarball, but as far as
I could tell it never unpacked or installed the tarball it downloaded.
What finally did the trick was
apt-get install --reinstall flashplugin-nonfree
That downloaded a new tarball, AND unpacked and installed it.
After restarting Firefox, I was able to view the video I'd been trying
to watch.
Tags: linux, firefox, flash
[
15:21 Dec 18, 2014
More linux |
permalink to this entry |
]
Wed, 10 Dec 2014
We're saved! From the embarrassing slogan "Live exponentially", that is.
Last night the Los Alamos city council voted to bow to public opinion
and reconsider the contract to spend $50,000 on a logo and brand
strategy based around the slogan "Live Exponentially." Though nearly
all the councilors (besides Pete Sheehey) said they still liked the
slogan, and made it clear that the slogan isn't for residents but
for people in distant states who might consider visiting as tourists,
they now felt that basing a campaign around a theme nearly
of the residents revile was not the best idea.
There were quite a few public comments (mine included); everyone was
civil and sensible and stuck well under the recommended 3-minute time limit.
Instead, the plan is to go ahead with the contract, but ask the ad
agency (Atlas Services) to choose two of the alternate straplines
from the initial list of eight that North Star Research had originally
provided.
Wait -- eight options? How come none of the previous press or the
previous meeting mentioned that there were options? Even in the
364
page Agenda Packets PDF provided for this meeting, there was no
hint of that report or of any alternate strap lines.
But when they displayed the list of eight on the board, it became a
little clearer why they didn't want to make the report public: they
were embarrassed to have paid for work of this quality. Check out the
list:
- Where Everything is Elevated
- High Intelligence in the High Desert
- Think Bigger. Live Brighter.
- Great. Beyond.
- Live Exponentially
- Absolutely Brilliant
- Get to a Higher Plane
- Never Stop Questioning What's Possible
I mean, really. Great Beyond? Are we're all dead? High Intelligence in
the High Desert? That'll certainly help with people who think this
might be a bunch of snobbish intellectuals.
It was also revealed that at no point during the plan was there ever
any sort of focus group study or other tests to see how anyone reacted
to any of these slogans.
Anyway, after a complex series of motions and amendments and
counter-motions and amendments and amendments to the amendments,
they finally decided to ask Atlas to take the above list, minus
"Live Exponentially"; add the slogan currently displayed on the
rocks as you drive into town, "Where Discoveries are Made" (which
came out of a community contest years ago and is very popular among
residents); and ask Atlas to choose two from the list to make logos,
plus one logo that has no slogan at all attached to it.
If we're lucky, Atlas will pick Discoveries as one of the slogans,
or maybe even come up with something decent of their own.
The chicken ordinance discussion went well, too. They amended the
ordinance to allow ten chickens (instead of six) and to try to allow
people in duplexes and quads to keep chickens if there's enough space
between the chickens and their neighbors. One commenter asked for the
"non-commercial' clause to be struck because his kids sell eggs from
a stand, like lemonade, which sounded like a very reasonable request
(nobody's going to run a large commercial egg ranch with ten chickens);
but it turned out there's a state law requiring permits and
inspections to sell eggs.
So, folks can have chickens, and we won't have to live exponentially.
I'm sure everyone's breathing a little more easily now.
Tags: los alamos, politics, marketing
[
16:27 Dec 10, 2014
More politics |
permalink to this entry |
]
Sun, 07 Dec 2014
More on the Los Alamos "Live Exponentially" slogan saga:
There's been a flurry of letters, all opposed to the proposed slogan,
in the Los Alamos Daily Post
these last few weeks.
And now the issue is back on the council agenda; apparently they're
willing to reconsider
the October
vote to spend another $50,000 on the slogan.
But considering that only two people showed up to that October meeting,
I wrote a letter to the Post urging people to speak before the council:
Letter
to the Editor: Attend Tuesday's Council Meeting To Make Your Voice
Heard On 'Live Exponentially'.
I'll be there. I've never actually spoken at a council meeting before,
but hey, confidence in public speaking situations is what Toastmasters
is all about, right?
(Even though it means I'll have to miss an interesting sounding talk
on bats that conflicts with the council meeting. Darn it!)
A few followup details that I had no easy way to put into
the Post letter:
The page with the links to Council meeting agendas and packets is here:
Los Alamos
County Calendar.
There, you can get the short Agenda
for Tuesday's meeting, or the full
364
page Agenda Packets PDF.
The branding section covers pages 93 - 287.
But the graphics the council apparently found so compelling, which swayed
several of them from initially not liking the slogan to deciding to
spend a quarter million dollars on it, are in the final presentation
from the marketing company, starting on page p. 221 of the PDF.
In particular, a series of images like this one,
with the snappy slogan:
Breathtaking raised to the power of you
LIVE EXPONENTIALLY
That's right: the advertising graphics that were so compelling they
swayed most of the council are even dumber than the slogan by itself.
Love the superscript on the you that makes it into an exponent.
Get it ... exponentially? Oh, now it all makes sense!
There's also a sadly funny "Written Concept" section just before the graphics
(pages 242- in the PDF) where they bend over backward to work in
scientific-sounding words, in bold each time.
But there you go. Hopefully some of those Post letter writers
will come to the meeting and let the council know what they think.
The council will also be discussing the much debated proposed chicken
ordinance; that discussion runs from page 57 to 92 of the PDF.
It's a non-issue for Dave and me since we're in a rural zone that already
allows chickens, but I hope they vote to allow them everywhere.
Tags: los alamos, politics, marketing, speaking
[
18:05 Dec 07, 2014
More politics |
permalink to this entry |
]
Tue, 02 Dec 2014
I recently discovered that my ancient stereo turntable didn't survive
our move. So all those LPs I brought along, intending to rip to mp3
when I had more time, will never see bits.
So I need to buy new versions of some of that old music. In particular,
I'd lately been wanting to listen to my old Flanders and Swann albums.
Flanders and Swann were a terrific comedy music duo (think Tom Lehrer
only less scientifically oriented) from the 1960s.
So I ordered a CD of
The
Complete Flanders & Swann, which contains all three of the
albums I inherited from my parents. Woohoo! I ran a little script I
have that rips a whole CD to a directory of separate MP3 songs, and
I was all set.
Until I listened to it. It turns out that when the LP album was turned
into a CD, they put the track breaks in the wrong place. These albums
are recordings of live performances. Each song has a spoken intro,
giving a little context for the song that follows. On the CD, each
track starts with a song, and ends with the spoken intro for the next
song. That's no problem if you always listen to whole albums in order.
But I like to play individual tracks, or listen to music on random play.
So this wasn't going to work at all.
I tried using audacity to copy the intro from the end of one track and
paste it onto the beginning of another. That worked, but it was tedious
and fiddly. A little research showed me a much better way.
First: Rip the whole CD
First I needed to rip the whole CD as one gigantic track. My script
had been running cdparanoia tracknumber filename.wav
.
But it took some study of the cdparanoia manual before I finally
found the way to rip a whole CD to one track: you can specify a
range of tracks, starting at 0 and omitting the end track.
cdparanoia 0- outfile.wav
Use Audacity to split and save the tracks
Now what's the best way to split a recording into separate tracks?
Fortunately the Audacity manual has a nice page on that very subject:
Splitting a recording into separate tracks.
Mostly, the issue is setting labels -- with
Tracks->Add Label at Selection or
Tracks->Add Label at Playback Position.
Use Ctrl-1 to zoom as much as you need to see where the short pauses are.
Then listen to the audio, pausing or clicking and setting labels
appropriately.
It's a bit fiddly. For instance, if you pause your listening to set a
label, you might want to save the audacity project so you don't lose
the label positions you've set so far. But you can't save unless you
Stop the playback; and that loses the current playback position which
you may not yet have set a label for. Even if you have set a label for
it, you'll need to click to set the selection to the label you just made
if you want to continue playing from where you left off. It all seems
a little silly and unintuitive ... but after a few tries you'll find a
routine that works for you.
When all your labels are set, then File->Export Multiple....
You will have to go through a bunch of dialogs involving metadata for
each track; just hit return, since audacity ignores any metadata you
type in and won't actually write it to the MP3 file. I have no idea
why it always prompts for metadata then doesn't use it, but you can
use a program like id3tool later to add proper metadata to the tracks.
So, no, the tools aren't perfect. On the other hand, I now have a nice
set of Flanders and Swann tracks, and can listen to Misalliance, Ill
Wind and The GNU Song complete with their proper introductions.
Tags: linux, audio
[
13:35 Dec 02, 2014
More linux |
permalink to this entry |
]