NoMethodError is raised by default.
```ruby
1.9.3-p448 :02 > SSHKey.ssh_public_key_bits k.ssh_public_key.gsub('A','.')
NoMethodError: undefined method `last' for false:FalseClass
```

While effective, its pretty ugly and doesn't describe what's actually wrong.  Not sure how important that is or if you'd rather rescue and re-raise a different exception, something like this maybe?
```ruby
1.9.3-p448 :005 > class SSHKeyError < SyntaxError; end
 => nil
1.9.3-p448 :007 > raise SSHKeyError, "Bad public ssh key"
SSHKeyError: Bad public ssh key

 For now I've just removed the rescue exposing NoMethodError.