解決済み: libnss-mdnsがインストールされていることを確認してください!
.localホスト名を使用して、ネットブックからデスクトップへのSSHの使用に問題があります。頻繁に、使用するルーターをリセットする必要があります。これにより、デバイスに提供するアドレスがリセットされるため、しばらく前に、これを回避するためにAvahiをセットアップしました*。 /etc/avahi/services/ssh.serviceファイルは、ドキュメントからコピーされた標準のファイルです。
<?xml version="1.0" standalone='no'?><!--*-nxml-*-->
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
<!-- See avahi.service(5) for more information about this configuration file -->
<service-group>
<name replace-wildcards="yes">%h</name>
<service>
<type>_ssh._tcp</type>
<port>22</port>
</service>
</service-group>
これは以前は正常に機能していましたが、ネットブックからデスクトップにsshしようとすると、何らかの理由で次のエラーメッセージが表示されます(この出力ではPCのホスト名を変更しました)。
user@netbook>> ssh pc.local -vvv
OpenSSH_6.2p2 Ubuntu-6ubuntu0.3, OpenSSL 1.0.1e 11 Feb 2013
debug1: Reading configuration data /home/username/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug2: ssh_connect: needpriv 0
ssh: Could not resolve hostname pc.local: Name or service not known
IPアドレスを手動で入力すると、ネットブックからPCにsshできます。/etc/hostsを正しくセットアップすると(PCのデーモンが正常に動作するようになります)、それを試みると動作しなくなります。 .localアドレスを使用します。 .localホスト名を使用する場合でも、他の方向(PC-> netbook)でのSSHは正常に機能します。 Avahiも正常に動作しているようです:
user@netbook>> avahi-browse -a -t+
+ wlan0 IPv6 netbook SSH Remote Terminal local
+ wlan0 IPv6 netbook [<MAC address>] Workstation local
+ wlan0 IPv6 netbook Remote Disk Management local
+ wlan0 IPv4 netbook SSH Remote Terminal local
+ wlan0 IPv4 netbook [<MAC address>] Workstation local
+ wlan0 IPv4 netbook Remote Disk Management local
+ wlan0 IPv4 pc SSH Remote Terminal local
+ wlan0 IPv4 pc [<MAC address>] Workstation local
+ wlan0 IPv4 pc Remote Disk Management local
+ wlan0 IPv6 pc SSH Remote Terminal local
+ wlan0 IPv6 pc [<MAC address>] Workstation local
+ wlan0 IPv6 pc Remote Disk Management local
ネットブックはLubuntu 13.10を実行しています。 Lubuntuに最近変更したことに注意してください。このエラーはLubuntuでのみ表示され、普通のUbuntuでは表示されません。私のデスクトップはUbuntu 13.10を実行しています。
助けていただければ幸いです!
*ルーターを設定して両方のデバイスに設定アドレスを永続的に与えることができることを認識しています。この問題を解決できない場合はそれを行いますが、回避するのではなく、これを試して修正したいと思います。
ETA:.localホスト名を使用してネットブックからPCにpingを実行しても機能しません(不明なホスト)。
編集2:/etc/nsswitch.conf
の内容
# /etc/nsswitch.conf
#
# Example configuration of GNU Name Service Switch functionality.
# If you have the `glibc-doc-reference' and `info' packages installed, try:
# `info libc "Name Service Switch"' for information about this file.
passwd: compat
group: compat
shadow: compat
hosts: files mdns4_minimal dns [NOTFOUND=return] mdns4
networks: files
protocols: db files
services: db files
ethers: db files
rpc: db files
netgroup: nis
さて、*.local
は解決されません。
クライアントマシン(ノートブック)
インストールavahi-dnsconfd
Sudo apt-get install avahi-daemon avahi-dnsconfd avahi-discover avahi-utils
avahi-dnsconfd
は公開をリッスンし、resolvconf
に渡します。
Install libnss-mdns
(このライブラリが欠落していたため、インストールすると問題が修正されました)
Sudo apt-get install libnss-mdns
nss-mdnsは、GNUネームサービススイッチ(NSS)機能のプラグインです。GNU Cライブラリ(glibc)は、マルチキャストDNS(Zeroconf、別名Apple Bonjour/Apple Rendezvous)、アドホックmDNSドメイン.localの一般的なUnix/Linuxプログラムによる名前解決を効果的に許可します
/etc/nsswitch.conf
を確認してください
hosts: files wins mdns4_minimal dns [NOTFOUND=return] mdns4
mdns4_minimal
の前にmdns4
の前でdns
の前に[NOTFOUND=return]
または*.local
が必要です。
Winbind/sambaを使用してWindows共有ホスト名を解決しない場合は、wins
を削除します。
リブート
クライアントマシン(ノートブック)
avahi-dnsconfd
サービスステータスを確認します
$ service avahi-dnsconfd status
avahi-dnsconfd start/running, process 1548
avahi-discover
を実行します。デスクトップがIPv4→ローカル→ワークステーションに一覧表示されます。
スクリーンショットの例mx5
は私のPCで、salah-Aspire-5738
は他のマシンです。
Avahiがホスト名を解決できるかどうかを確認します
avahi-resolve -4 --name yourdesktop.local
Pingテスト
$ ping salah-Aspire-5738.local
PING salah-Aspire-5738.local (192.168.1.3) 56(84) bytes of data.
64 bytes from salah-Aspire-5738.local (192.168.1.3): icmp_seq=1 ttl=64 time=2.69 ms
サーバーマシン(デスクトップ)、クライアントマシンのavahi-discover
がサーバーエントリをリストしなかった場合。
avahi-daemon
がインストールされていることを確認します
Sudo apt-get install avahi-daemon avahi-dnsconfd avahi-discover avahi-utils
avahi-daemon
はサービスの公開を提供します。
サービスの状態を確認してください
$ service avahi-daemon status
avahi-daemon start/running, process 1517
デフォルトでは、avahi
は_workstation._tcp
サービスを公開します。 avahi-discover
をローカルで使用して確認し、リストにない場合は/etc/avahi/avahi-daemon.conf
で有効にしてみてください(#
を削除してください)
publish-workstation=yes
次に、デーモンを再起動します。
Sudo service avahi-daemon restart
再び確かめる。