SSH chậm để tạo kết nối [trùng lặp]


25

Tôi mới cài đặt Ubuntu 11.10 và bất cứ khi nào tôi cố gắng SSH vào máy chủ của mình thì nó rất chậm. Trước khi nó hiển thị lời nhắc mật khẩu, nó có thể mất từ ​​40 giây đến 60 giây.

Tôi sử dụng:

ssh myuser@myserver.com

Khi tôi đăng nhập, mọi thứ đều ổn và nó hoạt động nhanh.

Tại sao nó mất nhiều thời gian và làm thế nào tôi có thể sửa chữa nó? Có bất kỳ tùy chọn nào trong lệnh SSH tôi có thể sử dụng không?

Câu trả lời:


44

Điều này chậm vì trình nền OpenSSH sử dụng DNS để chạy tra cứu ngược trên tên máy chủ của khách hàng để đảm bảo rằng nó hợp lệ

sudo vi /etc/ssh/ssh_config

Nhận xét các dòng sau

#GSSAPIAuthentication yes
#GSSAPIDelegateCredentials no

HOẶC LÀ

thêm điều này:

UseDNS no

6
Có một tệp sshd_config cho phía máy chủ và ssh_config cho phía máy khách. Đặt các tùy chọn này trên máy khách và máy chủ trong tệp ssh_config không giúp tôi. Chỉ sau khi tôi đặt GSSAPIAuthentication noGSSAPIDelegateCredentials yesthêm UseDNS novào tệp sshd_config của máy chủ, nó mới tăng tốc kết nối cho tôi.
metakermit

1
Không có ý nghĩa bảo mật của việc làm này?
TheStoryCoder

@TheStoryCoder câu hỏi hay, tôi phải kiểm tra lại, bạn đã kích hoạt sự tò mò của tôi ngay bây giờ ...
Sách của Zeus

1
Sau khi thêm UseDNS no, tôi đã nhận được Bad configuration option: usednskhi tôi cố gắng đăng nhập máy chủ khác.
Casper

1
Hãy thử cài đặt UseDNSthành notrong /etc/sshd_confighoặc /etc/ssh/sshd_config. KHÔNG /etc/ssh_config!
Yu Jiaao

13

Đây chỉ là phần bổ sung cho câu trả lời của Book Of Zeus. Trong trường hợp bạn không có quyền truy cập root (sudo), bạn vẫn có thể định cấu hình nó.

Bạn cần chỉnh sửa tệp "user ssh_config" của mình:

vi $HOME/.ssh/config

(Lưu ý: bạn sẽ phải tạo thư mục $ HOME / .ssh nếu nó không tồn tại)

Và thêm:

Host *
  GSSAPIAuthentication no
  GSSAPIDelegateCredentials yes

Bạn có thể làm như vậy trên cơ sở mỗi máy chủ nếu được yêu cầu :) ví dụ:

Host linux-srv
  HostName 192.158.1.1
  GSSAPIAuthentication no
  GSSAPIDelegateCredentials yes

Đảm bảo địa chỉ IP khớp với IP máy chủ của bạn. Một lợi thế thú vị là bây giờ ssh sẽ cung cấp tự động hoàn thành cho máy chủ này. Vì vậy, bạn có thể gõ ssh lin+ Tabvà nó sẽ tự động hoàn thành ssh linux-srv.

Bạn có thể thêm một loạt các tùy chọn hữu ích để bạn không phải nhập chúng mỗi lần:

User <a user>
Port <a port number>
IdentityFile <a specific private key>
Compression yes
....

Vì vậy, thay vì gõ ssh -C -p 1022 -i ~/.hidden/prv-key-4096bit superuser@192.158.1.1một đơn giản ssh linux-srvsẽ đủ!

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.