Tại sao mật khẩu của ssh's nhắc nhở mật khẩu của ssh mất quá nhiều thời gian để xuất hiện?


94

Khi tôi cố gắng ssh, lời nhắc mật khẩu mất quá nhiều thời gian (gần hai phút) để xuất hiện.

Lý do tại sao điều này xảy ra?


1
Các câu trả lời của Gilles nên các câu trả lời như được giải thích trong các ý kiến, thực sự.
gertvdijk

Câu trả lời:


143

Có một số điều có thể đi sai. Thêm vào -vvvđể làm cho ssh in một dấu vết chi tiết về những gì nó đang làm và xem nó đang tạm dừng ở đâu.

Vấn đề có thể là trên máy khách hoặc trên máy chủ.

Một vấn đề phổ biến trên máy chủ là nếu bạn kết nối từ máy khách đã hết thời gian tra cứu DNS. (Tra cứu DNS đảo ngược, có nghĩa là lấy lại từ địa chỉ IP của máy khách về tên máy chủ. Nó không thực sự hữu ích cho bảo mật, chỉ hữu ích một chút để chẩn đoán các lần thử breakin từ các mục nhật ký, nhưng dù sao cấu hình vẫn làm điều đó.) Để tắt tra cứu DNS ngược, hãy thêm UseDNS novào /etc/ssh/sshd_config(bạn cần phải root trên máy chủ; nhớ khởi động lại dịch vụ SSH sau đó).

Một điều có thể sai là thời gian xác thực GSSAPI . Nếu bạn không biết đó là gì, có lẽ bạn không dựa vào nó; bạn có thể tắt nó bằng cách thêm dòng GSSAPIAuthentication novào /etc/ssh/ssh_confighoặc ~/.ssh/config(đó là ở phía máy khách).


8
Đối với tôi đó là vấn đề GSSAPIAuthentication. Cảm ơn bạn.
RajaRaviVarma

14
Tra

2
Reverse DNS cũng là thủ phạm đối với tôi và đã UseDNS nosửa nó như một lá bùa. Tôi đang ở trong một mạng nội bộ không có máy chủ DNS để xử lý tra cứu ngược lại cho các IP nội bộ.
Jordan Mack

1
Có ý nghĩa bảo mật để vô hiệu hóa GSSAPIAuthentication? (googling trong 15 phút không làm sáng tỏ điều đó)
Alexander Malakhov

3
@AlexanderMalakhov Nếu bạn đang dựa vào điều này để đăng nhập, thì bạn sẽ tự khóa nếu bạn tắt nó. Ngoài ra, không. Và nếu bạn đang sử dụng GSSAPI, bạn sẽ biết - bạn đã phải định cấu hình một số dịch vụ dựa trên GSSAPI trên mạng của mình.
Gilles

13

Hãy để thời gian quá trình đăng nhập và xem sẽ mất bao lâu:

[root@gislab00207 ~]# time ssh root@ISSLABNTL01
root@isslabntl01's password:
Last login: Fri Oct  4 07:55:03 2013 from 3.60.40.232

[root@ISSLABNTL01 ~]# exit
logout
Connection to ISSLABNTL01 closed.

real    0m45.192s
user    0m0.003s
sys     0m0.005s

You have new mail in /var/spool/mail/root
[root@gislab00207 ~]#

Xem ở trên mất khoảng 45 giây để đăng nhập -------- RẤT RẤT

Khi bạn đăng nhập dưới dạng tập tin sshd_config chỉnh sửa gốc và thay đổi mục nhập UseDNS như bên dưới. Ở đây tôi đang sử dụng sed thay vì chỉnh sửa tập tin.

[root@ISSLABNTL01 ~]# grep -i dns /etc/ssh/sshd_config
#UseDNS yes

[root@ISSLABNTL01 ~]# sed -i 's/#UseDNS yes/UseDNS no/g' /etc/ssh/sshd_config
[root@ISSLABNTL01 ~]# grep -i dns /etc/ssh/sshd_config
UseDNS no

[root@ISSLABNTL01 ~]# service sshd restart
Stopping sshd:                                             [  OK  ]
Starting sshd:                                             [  OK  ]
[root@ISSLABNTL01 ~]# exit

Hãy để chúng tôi thời gian quá trình đăng nhập và xem bây giờ sẽ mất bao lâu.

[root@gislab00207 ~]# time ssh root@ISSLABNTL01
root@isslabntl01's password:
Last login: Fri Oct  4 07:55:03 2013 from 3.60.40.232

[root@ISSLABNTL01 ~]# exit
logout

Connection to ISSLABNTL01 closed.

real    0m6.192s
user    0m0.003s
sys     0m0.005s

You have new mail in /var/spool/mail/root
[root@gislab00207 ~]#

Xem nó mất 6 giây, thời gian để tôi nhập mật khẩu.


thật tuyệt vời .. một thời điểm lại .. việc sử dụng không có lỗi cho tôi .. Tôi đã xác thực mật khẩu và sự chậm trễ là mật khẩu nhập đó xuất hiện .. Tôi đợi nó xuất hiện rồi ctrl-c đã đến lúc 'không bao gồm tôi nhập mật khẩu.
barlop

Tôi có thể khẳng định UseDNS notrong /etc/ssh/sshd_configcố định vấn đề của tôi

UseDNS noĐã giải quyết nó
Pandurang Patil

@PandurangPatil Tùy chọn cấu hình xấu: usedns
Yusef Mohamadi

@zhilevan Bạn cũng nên đề cập tại sao nó là cấu hình xấu. Điều đó sẽ giúp hiểu lý do tại sao cấu hình xấu
Pandurang Patil

4

Đó là một cái gì đó sai từ cài đặt của Ubuntu.

Để khắc phục, bạn phải thay đổi dòng này trong /etc/nsswitch.conf :

hosts:          files mdns4_minimal [NOTFOUND=return] dns mdns4

Và thay đổi nó cho cái này:

hosts:          files dns

3
Cấu hình của Ubuntu không sai. Trong một số trường hợp (mạng gia đình không có máy chủ DNS trung tâm), đó là điều đúng đắn. Trong các mạng khác (các mạng mà mDNS yêu cầu hết thời gian), điều đó thật tệ.
Gilles

[NOTFOUND = return] không nên ở đó.
Neuquino

4
@Neuquino Nó nên ở đó. Đó là lý do bạn không hiểu, rõ ràng. Xử lý vấn đề nsswitch.confnhư thế này là yêu cầu sự cố và không cung cấp giải pháp chung để làm chậm SSH.
gertvdijk

Đây dường như là giải pháp duy nhất hiệu quả
linello

4

Trong trường hợp của tôi, vấn đề có thể được giải quyết bằng cách khởi động lại systemd-logind:

systemctl restart systemd-logind

Điều này được đề cập trên Serverfault .

Tôi phải làm điều này thường xuyên và tôi không biết nguyên nhân cốt lõi của vấn đề là gì.


1

Đầu ra gỡ lỗi cho ssh trong trường hợp của tôi chỉ dừng lại trong 30 giây trong khi nó đang 'kết nối'. Giải pháp hóa ra có liên quan đến cài đặt DNS trên hệ thống cục bộ của tôi. Một cấu hình mạng trước đó đã để lại một máy chủ DNS không có thật trong /etc/resolv.conftệp. Thay thế nó bằng một máy chủ DNS hiện tại đã khắc phục vấn đề.


0

Đối với tôi đã thay đổi hệ thống dns thành 127.0.0.1, trước đó đây là một máy chủ không tồn tại.

nano /etc/resolv.conf

Và viết như sau

domain localdomain
search localdomain
(Removed this line) ===> nameserver 10.0.0.1
(Added this line) ===> nameserver 127.0.0.1

Đối với tôi, tập tin này dường như là /etc/resolv.conf (không có e)
Shadow

0

Tôi không biết nhiều về môi trường của người gửi thư như tôi muốn, nhưng đối với những người khác có vấn đề tương tự, đó có thể là một vấn đề sssdmà chúng tôi sử dụng để gắn mojo ldap.

Điều này xảy ra với tôi:

$ time ssh server.example.com

real  2m0.018s
user  0m0.006s
sys   0m0.004s

Tôi phải có quyền truy cập vào máy chủ (trong trường hợp của tôi thông qua bảng điều khiển) sau đó thực hiện:

service restart sssd

Sau đó, mọi thứ chỉ hoạt động. Tôi đã không có thời gian để gỡ lỗi nguyên nhân gốc rễ, nhưng chiếc băng đô này hoạt động với tôi.


0

Tôi có thể giải quyết lời nhắc mật khẩu chậm thông qua ssh - vấn đề bằng cách kiểm tra Bật DNS Relay trong cài đặt DHCP trên bộ định tuyến dlink của tôi. Sau đó, các kết nối với SSH hoạt động trong vòng một giây.

Network Settings -> Router Settings -> Enable DNS Relay [x]

Cấu hình mặc định chuyển tiếp mọi yêu cầu DNS cho nhà cung cấp. Nó rất chậm mặc dù tôi đã kết nối với ssh pi@10.0.0.103. Một gợi ý cho giải pháp là một mục trong /etc/resolv.conf "search upc.at" được cung cấp qua dhcp.

Hướng dẫn sử dụng dlink nêu:

When DNS Relay is enabled, DHCP clients of the router will be assigned 
the router's LAN IP address as their DNS server. All DNS requests that 
the router receives will be forwarded to your ISPs DNS servers. 
When DNS relay is disabled, all DHCP clients of the router will 
be assigned the ISP's DNS server.

Sau khi phát hành dhcp trên máy khách và máy chủ, kết nối qua SSH đã nhanh chóng trở lại. HTH.

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.