ssh nói: Bạn không tồn tại, đi đi!


14

Thỉnh thoảng khi tôi cố gắng đến sshmột máy chủ, tôi nhận được thông báo sau:

You don't exist, go away!

Tôi chưa thấy điều này trước khi sử dụng ssh. Điều đó có nghĩa là gì? Có vấn đề với ssh hoặc cái gì khác? Thông tin bổ sung:

ssh -q -i private_key root@192.168.0.11 "command" 

Máy chủ là SUSE Linux. Tôi chạy sshlệnh trong một vòng lặp 10 lần và chỉ 1 hoặc 2 trong số các lần thử dẫn đến thông báo Đi xa.


5
Hãy thử tìm kiếm trước khi đặt câu hỏi. Đây là một thông báo lỗi tiêu chuẩn và một tìm kiếm 5 phút sẽ cho bạn biết ý nghĩa của nó. Ngoài ra, khi hỏi Qs, hãy nhớ bao gồm HĐH của bạn, HĐH của máy bạn đang kết nối, đầu ra, ssh -vvv.v.
terdon

2
OK, trong trường hợp đó, hãy đề cập đến chúng tôi, hãy cho chúng tôi biết các HĐH đang được đề cập, cho chúng tôi biết bạn đã loại trừ điều gì, cho chúng tôi biết kết quả ssh -vv, giải thích lý do tại sao bạn nghĩ rằng vấn đề của bạn không liên quan đến /etc/password(gợi ý: có thể là, lỗi là phàn nàn về người dùng không tồn tại phải không?). Làm thế nào để bạn xác thực với máy? Có một máy chủ xác thực tập trung? Những lựa chọn nếu bạn đang đi qua ssh? Hãy cho chúng tôi một cái gì đó để làm việc với!
terdon

1
Tôi có xu hướng đồng ý với Joel về những câu hỏi đơn giản và câu hỏi này khiến tôi cảm thấy thích thú. Tuy nhiên, @coffeMug, nếu bạn gặp vấn đề, vui lòng mô tả rõ ràng (và ghi lại những gì bạn đã cố gắng để giải quyết).
phunehehe

1
@terdon Mình cung cấp thêm một số thông tin.
coffeMug

1
"Tôi chạy lệnh ssh trong một vòng lặp trong 10 lần và chỉ 1 hoặc 2 trong số các lần thử kết quả trong thông báo Đi xa." Đó chính xác là loại điều bạn cần đề cập, nó thay đổi mọi thứ :).
terdon

Câu trả lời:


21

Thông báo lỗi có thể đến từ sshchính máy của bạn. Nguồn

Điều này xảy ra nếu sshkhông thể tìm thấy tên người dùng của bạn trongpasswd cơ sở dữ liệu.

Bạn có thể thử chạy getent passwd $USERNAME nhiều lần và xem nếu thất bại.

Tùy thuộc vào cách passwdtra cứu được cấu hình, hãy thử một trong các cách sau:

  • Đảm bảo tên người dùng của bạn xuất hiện trong /etc/passwd
  • Đảm bảo rằng sssdhoặcnscd đang chạy đúng, nếu thích hợp
  • Đảm bảo rằng kết nối của bạn với máy chủ tài khoản, ví dụ: NIS, LDAP, v.v. đang hoạt động
  • Kiểm tra các tập tin hệ thống đăng nhập trên máy tính của bạn ( /var/log/messages, /var/log/syslog, vv)

Nếu bạn đăng đầu ra của grep '^passwd' /etc/nsswitch.conf, cùng với bất kỳ phần thú vị nào của ssh -vvnhật ký hệ thống và đầu ra, mọi người có thể có thể giúp đỡ nhiều hơn.


Đây dường như là lời giải thích chính xác của vấn đề. :-)
coffeMug

1
Điều này thường có thể xảy ra nếu bạn đang xác thực qua máy chủ LDAP và các chính sách Polkit (hoặc tương tự) không thêm bạn chính xác vào bất kỳ nhóm địa phương nào. SSH và các công cụ hệ thống cốt lõi khác chỉ nhìn vào / etc / passwd và không hiểu PAM / etc mà không có sự trợ giúp, hoặc đôi khi cả.
dragon788

4

Nếu bạn thay đổi UID của tài khoản, mọi vỏ hiện có sẽ có loại khủng hoảng danh tính này. Kiểm tra bằng cách so sánh UID từ đầu ra của "id" và thực hiện a grep $(whoami) /etc/passwd. nếu thay đổi UID, hãy nhớ kiểm tra mọi mục nhập crontab cho người dùng!

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.