แก้ไขแล้ว:ตรวจสอบให้แน่ใจว่าติดตั้ง libnss-mdns แล้ว!
ฉันมีปัญหาในการใช้ SSH จากเน็ตบุ๊กไปยังเดสก์ท็อปโดยใช้ชื่อโฮสต์. local บ่อยครั้งที่ฉันต้องรีเซ็ตเราเตอร์ที่ใช้ซึ่งรีเซ็ตที่อยู่ที่ให้ไว้กับอุปกรณ์ของฉันดังนั้นเมื่อไม่นานมานี้ฉันได้ตั้งค่า 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 จากเน็ตบุ๊กของฉันไปยังเดสก์ท็อปของฉันฉันได้รับข้อความแสดงข้อผิดพลาดต่อไปนี้ (หมายเหตุฉันเปลี่ยนชื่อโฮสต์พีซีของฉันในผลลัพธ์นี้):
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
ฉันสามารถ ssh จากเน็ตบุ๊กของฉันไปยังพีซีของฉันเมื่อฉันใส่ที่อยู่ IP ด้วยตนเองและเมื่อฉันตั้งค่า / etc / โฮสต์อย่างถูกต้อง (ดังนั้น daemon บนพีซีของฉันทำงานได้ดี) มันหยุดทำงานเมื่อฉันพยายาม ใช้ที่อยู่. local SSH กำลังไปในทิศทางอื่น (PC-> netbook) ทำงานได้ดีแม้ใช้ชื่อโฮสต์. local 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 ไม่ทำงาน (โฮสต์ที่ไม่รู้จัก)
แก้ไข 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
ping pc.local
ไหม
strace ssh user@foo
จะแสดงว่า ssh ติดต่อ avahi-daemon พร้อมคำขอเพื่อแก้ไขfoo
ซึ่งหมดเวลา ... ในกรณีของฉันเปลี่ยนเป็น/etc/nsswitch.conf
: จาก " hosts: files mdns4_minimal [NOTFOUND=return] dns
" เป็น " hosts: files dns mdns4_minimal
" ไม่แน่ใจว่าทำไม avahi daemon ไม่ควรถามเซิร์ฟเวอร์ DNS มันอาจต้องทำอะไรบางอย่างที่มีความไม่ลงรอยกันระหว่าง multicast DNS กับ DNS ทั้งคู่บนระบบ LAN (ดูเพิ่มเติมที่: . local TLD ... มี .local
การปฏิบัติที่ไม่ดีอยู่แล้ว)
ssh user@hostname:/folder
ใช่ไหม?