Đã giải quyết: đảm bảo rằng libnss-mdns đã được cài đặt!
Tôi gặp sự cố khi sử dụng SSH từ netbook đến máy tính để bàn của mình bằng tên máy chủ .local. Mỗi lần như vậy, tôi phải đặt lại bộ định tuyến mà tôi sử dụng, nó đặt lại các địa chỉ mà nó cung cấp cho các thiết bị của tôi, vì vậy một thời gian trước tôi đã thiết lập Avahi để khắc phục điều này *. Tệp /etc/avahi/service/ssh.service là tệp tiêu chuẩn được sao chép từ tài liệu:
<?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>
Điều này được sử dụng để hoạt động tốt, nhưng bây giờ vì một số lý do khi tôi cố gắng chuyển từ netbook sang máy tính để bàn của mình, tôi nhận được thông báo lỗi sau (lưu ý tôi đã thay đổi tên máy chủ của máy tính trong đầu ra này):
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
Tôi có thể ssh từ netbook sang PC khi tôi đặt địa chỉ IP theo cách thủ công và khi tôi đã thiết lập / etc / hosts chính xác (vì vậy trình nền trên PC của tôi hoạt động tốt), nó chỉ dừng hoạt động khi tôi cố gắng sử dụng địa chỉ .local. SSH theo hướng khác (PC-> netbook) hoạt động tốt, ngay cả khi sử dụng tên máy chủ .local. Avahi cũng hoạt động tốt:
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
Chiếc netbook này đang chạy LubFi 13.10; lưu ý rằng tôi đã thay đổi thành Lubfox gần đây và tôi chỉ nhớ là đã thấy lỗi này với Lubfox chứ không phải với Ubuntu đơn giản. Máy tính để bàn của tôi đang chạy Ubuntu 13.10.
Bất kỳ trợ giúp sẽ được đánh giá cao!
* Tôi biết rằng có thể thiết lập bộ định tuyến của mình để cung cấp địa chỉ vĩnh viễn cho cả hai thiết bị và tôi sẽ làm điều đó nếu tôi không thể giải quyết vấn đề này, nhưng tôi muốn thử và khắc phục vấn đề này hơn là làm việc xung quanh nó.
ETA: Ping máy tính từ netbook với tên máy chủ .local không hoạt động (máy chủ không xác định).
Chỉnh sửa 2: Nội dung của /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
cũng sẽ hiển thị rằng các liên hệ ssh avahi-daemon với yêu cầu giải quyết foo
, hết thời gian ... Trong trường hợp của tôi đã thay đổi trong /etc/nsswitch.conf
: Từ " hosts: files mdns4_minimal [NOTFOUND=return] dns
" thành " hosts: files dns mdns4_minimal
". Không chắc chắn tại sao avahi daemon được yêu cầu KHÔNG yêu cầu máy chủ DNS, nó có thể phải làm điều gì đó với sự không tương thích giữa DNS đa hướng và DNS cả trên mạng LAN (xem thêm: .local TLD ... .local
dù sao cũng có thông lệ xấu)
ssh user@hostname:/folder
không?