[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
  Web www.spinics.net

Re: SSH Option files using hashes instead of hostnames?

On Tue, 29 Jun 2010, Greg Wooledge wrote:

On Mon, Jun 28, 2010 at 09:32:06PM -0400, Dan Mahoney, System Admin wrote:
On Mon, 28 Jun 2010, Greg Wooledge wrote:
It doesn't make sense.  The point of a hash (at least in this context)
is that you cannot reverse it to get the original data back.

The point of the hash is that if, someone has compromised my account (via
brute force, keyboard surfing, evil sysadmin, whatever, and whatever else
it contains (trusted keys, kerberos credentials, etc), they could look in
my known_hosts file and see what other hosts they could log into.

You're discussing what you desire as an outcome.  That's great.  It's
a perfectly reasonable thing to want.

The problem is that it's not possible.

# Server in guam is on overloaded DSL link
Host slowpoke
HostName slowpoke.secure.server.ad.company.com
ConnectTimeout 600
User admin

Hashes are one-way.  You can turn data into a hash, but you can't turn
a hash back into data.

But compare this with

HostnameHash |1|JYh/HiqdBkaEKeg0KrS9cHncJRI=|Qc2hMsrOMpReJLyOxwmps3nnb0k=
ConnectTimeout 600
User admin

There is no way to translate the hash into the string
"slowpoke.secure.server.ad.company.com".  If you had typed the string
"slowpoke.secure.server.ad.company.com" on the command line, then the
ssh client could hash it and compare that to what's in your options
file.  But if you only typed "slowpoke" on the command line, then the
client can't even look up the canonical FQDN from that.

Agreed, perhaps I wasn't clear that this would assume the client typed the right thing on the command line.

And yet, ssh today will accept a non-fqdn today, even without a "hostname" entry in your config. DNS is Sexy. :)

There are two uses to the Host/Hostname thing in ssh.

First is to let you look up a machine that's not in DNS at all, sometimes with alternate credentials or whatnot. (i.e. an alias).

The other is if you need to trump your DNS search-list.

As I mentioned in my first request, this hash would have to be done after the client looked up the FQDN, and base it on that. Something resolvable would have to be specified on the command line.

I admit that this would not work in cases where you're using both host and hostname for the same host in your options file. I've always been a fan of specifying the correct thing on the command line, though, and mainly use this config for tunnels and port forwards, not for hostname-aliasing, which would work perfectly fine with this.



"Don't think of it as beer, think of it as a flavored motor oil."

-Jeremiah Kristal, on Guinness
3/29/05, 9:52 AM

--------Dan Mahoney--------
Techie,  Sysadmin,  WebGeek
Gushi on efnet/undernet IRC
ICQ: 13735144   AIM: LarpGM
Site:  http://www.gushi.org

[Home]     [Fedora Users]     [Fedora Legacy]     [Fedora Desktop]     [Yosemite Photos]     [Yosemite News]     [Yosemite Campsites]     [KDE Users]     [Gnome Users]

Add to Google Powered by Linux