Làm cách nào để tăng tốc đăng nhập SSH?


23

Từ bên ngoài nhà tôi, bất cứ khi nào tôi đăng nhập vào máy chủ Ubuntu của mình bằng SSH, tôi sẽ mất khoảng 6 giây để nhận được lời nhắc nhập mật khẩu, tuy nhiên khi tôi đăng nhập vào máy chủ lưu trữ web của mình thì mất khoảng 1 giây. Tôi có thể làm gì để tăng tốc điều này?

$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=8.04
DISTRIB_CODENAME=hardy
DISTRIB_DESCRIPTION="Ubuntu 8.04.1"
$ ssh -v
OpenSSH_4.7p1 Debian-8ubuntu1.2, OpenSSL 0.9.8g 19 Oct 2007
$ cat /proc/cpuinfo
model name      : Dual-Core AMD Opteron(tm) Processor 1210
cpu MHz         : 1000.000
cache size      : 1024 KB
$ cat /proc/meminfo
MemTotal:      2074528 kB

Câu trả lời:


38

Lý do số một mà tôi thấy cho điều này là tùy chọn cấu hình trong SSHD UseDNStùy chọn này (được bật theo mặc định) khiến máy chủ thực hiện độ phân giải DNS trên các yêu cầu đến. Một hoạt động tốn thời gian. Tôi đã thấy thông tin đăng nhập đi từ một phút cộng với việc chờ nhắc mật khẩu dưới một vài giây. Nếu bạn chỉnh sửa /etc/ssh/sshd_configtrên máy chủ và thêm (nếu không có) ở phía dưới UseDNS nothì hãy khởi động lại daemon SSH với service ssh restartbạn sẽ thấy sự cải thiện vào lần tới khi bạn kết nối.


6
Tốt hơn để sửa cấu hình DNS của bạn.
Thorbjørn Ravn Andersen

Điều này làm việc tuyệt vời !! Cảm ơn! Thời gian đăng nhập đã tăng từ 20-30 giây xuống dưới 5 giây :)
AntonioCS

3
Lợi ích của việc UseDNSkích hoạt là gì?
ændrük

Hãy nhận biết! khi bạn đặt lệnh UserDNSsau một lệnh Matchbạn sẽ gặp lỗi: is not allowed within a Matchchặn nếu bạn khởi động lại sshd, bạn sẽ không thể ssh vào máy chủ của mình. Tôi đã làm sai lầm này và tôi đã bị khóa khỏi máy chủ của tôi. Luôn nhớ không thêm bất kỳ chỉ thị nào ở dưới cùng sshd_confignếu bạn có Matchchỉ thị trong đó.
Adriano Rosa

6

Đối với tôi, lý do số 2 (sau tùy chọn UseDNS phía máy chủ) cho các lần đăng nhập phiên SSH dài là phía khách hàng cố gắng kết nối bằng IPv6 (rõ ràng là không được thiết lập chính xác trên mạng của tôi - hoặc gần như bất kỳ mạng nào khác, cho vẫn đề đó).

Xem HOWTO: Tăng tốc đăng nhập SSH trên các diễn đàn Ubuntu.

"Giải pháp" là chỉ kích hoạt IPv4:

1) cho lệnh gọi máy khách SSH đã cho:

ssh -4 login@hostname

2) hoặc toàn cầu trong cấu hình máy khách ssh trong /etc/ssh/ssh_config:

Host *
   AddressFamily inet

Tất nhiên, sẽ đúng hơn nếu thiết lập IPv6 trên mạng của bạn đúng cách, nhưng ai có thời gian cho việc đó :)


3

Hãy thử thêm tùy chọn tiếp theo bằng lệnh ssh của bạn:

-o "PreferredAuthentications=password"

(điều này ngăn ssh đàm phán bất kỳ phương thức xác thực nào khác và tăng tốc độ quảng cáo mật khẩu!)


2
Tại sao lại sử dụng mật khẩu? Tại sao không phải là chìa khóa?
TJ Ellis

1
Dễ dàng: bởi vì bạn có thể không được phép sử dụng các phím! (sshd không được định cấu hình để sử dụng chúng, quyền truy cập tệp người dùng xấu,
v.v..9

2

Ngoài ra, hãy nhập mục này trên máy từ xa (với tư cách là người dùng bạn sẽ đăng nhập) để chặn bất kỳ tin nhắn MOTD nào:

touch ~/.hushlogin

Không tạo ra sự khác biệt nhiều như tắt UseDNSnhưng nó có thể giúp kết nối chậm hơn.


1
-1: MOTD chỉ được hiển thị sau khi đăng nhập thành công. Điều này sẽ không khiến dấu nhắc mật khẩu xuất hiện nhanh hơn.
Asa Ayers

2
Đúng, nhưng vẫn là một bình luận hữu ích.
sebastian_k

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.