自宅のネットワーク上にいくつかのUbuntuマシンがありますが、DNSはWindowsサーバー(2K)によって提供されます。他からsshにsshするとき、「machine」としてsshに接続すると接続できませんが、「machine.local」として接続すると接続できます。
同様に、Windowsクライアント(PuTTYなど)からも接続できないと思います。
何が起きてる? -それは明らかにUbuntuのことです。
デフォルトでは、Ubuntuにはavahiが含まれています。これは、仮想ホスト名を仮想「.local」名で解決できるようにするzeroconfの実装です。コンピューターが「hostname.local」に接続しようとするたびに、avahiはローカルネットワークブロードキャストを実行して、そのホスト名を持つコンピューターがあるかどうかを確認します。 avahi(または互換性のあるもの)を実行している他のコンピューターが応答するはずです。
/etc/nsswitch.confを見ると、次の行があります。
hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4
Mdns4_minimalは、このリダイレクトを機能させる構成設定です。
あなたの質問は、「hostname.local」を使用してUbuntuコンピューターに接続できると言っているように、avahiが正常に実行されていることを実際に示唆しています。ただし、別のUbuntuコンピューターまたは別のWindowsコンピューターから接続しようとしている場合は、明確にしません(「別のユーザーからsshするとき...」)。 Bonjourなどの他のソフトウェアをインストールしないと、Windowsコンピューターはzeroconfスタイルの「hostname.local」名を解決できません。
問題を解決するには、Avahiが必要です。これにより、Ubuntuマシン名がWindowsロットにアナウンスされます。
Sudo apt-get install avahi-daemon
machinename.local
は、Appleが作成した(IIRC)Bonjourと呼ばれるzeroconf(Avahiも同じ)の別の実装のおかげで機能します。デフォルトでインストールされます。なぜアバヒもそうではないのかは知りませんが、それが人々を引き起こす混乱を考えると、おそらくそうではないでしょう。
ウィキペディアにはこれに関する詳細があります。 http://en.wikipedia.org/wiki/.local