Nhiều kết nối SSH đến cùng một hệ thống - có khả thi không?


14

Tôi có một máy tính linux hoạt động như một máy chủ có thể chấp nhận các kết nối SSH đến.

Có thể kết nối đáng tin cậy nhiều thiết bị cùng một lúc, chẳng hạn như điện thoại và máy tính xách tay của tôi, cũng như các máy tính để bàn khác, với cùng một máy chủ bằng SSH không?

Cảm ơn đã giúp đỡ.


63
Tại sao bạn không thử trước khi hỏi?
Dmitry Grigoryev

1
Không chỉ điều này, mà bạn có thể có nhiều liên kết giữa cùng một cặp hệ thống. Bạn cũng có thể tìm thấy screenhoặc moshhữu ích nếu bạn muốn hành vi "Windows remote desktop" cho dòng lệnh: một giao diện duy nhất được truyền qua nhiều liên kết.
pjc50

7
Có 2 lý do tại sao tôi không đơn giản thử trước khi hỏi; đầu tiên là sự thiếu niềm tin mà tôi có trong sự hiểu biết của riêng tôi về linux - nếu nó hoạt động tôi vẫn không tin tưởng vào độ tin cậy của nó nếu tôi tin tưởng vào nó. Thứ hai là cộng đồng Superuser, nói chung, tuyệt vời và nhanh chóng để giúp đỡ những người hỏi - cảm ơn cộng đồng.
Sam3000

Câu trả lời:


50

Câu trả lời ngắn gọn - Có. Nó thường hoạt động theo mặc định.

Câu trả lời dài - Tùy thuộc vào những gì bạn đang sử dụng, nó có thể chậm lại với nhiều kết nối, nhưng đó là vấn đề về băng thông, không phải là vấn đề ssh.


15

Có, nó là có thể, đó là hành vi mặc định.

Lòng tin

Bạn có thể dựa nếu bạn đang sử dụng một phiên bản cập nhật của sshvà giao thức không phải là bất kỳ 1 hơn.

grep "Protocol"  /etc/ssh/sshd_config

Lệnh trên sẽ cung cấp cho bạn Protocol 2.

Giới hạn cho các kết nối

Bạn có thể xem sshnhư sự tiến hóa được mã hóa của telnet, được sinh ra vào năm 69 để cho phép truy cập từ xa vào máy chủ. Lưu ý rằng sshkết nối qua TCP và nó cũng có thể chuyển tiếp các phiên X (phiên đồ họa). Đa nhiệm và đa người dùng nằm trong bản chất bên trong của Unix ... ngay cả khi nó không phải là không có giới hạn !!!

Bạn có thể thấy một số giới hạn trong giới hạn TCP và SSH:

  • cat /proc/sys/net/core/somaxconn, thường là 128, để xem kết nối nổi bật TCP tối đa bạn có thể có;

    Biến kern.ipc.somaxconn sysctl (8) giới hạn kích thước của hàng đợi nghe để chấp nhận các kết nối TCP mới. Giá trị mặc định là 128 thường quá thấp để xử lý mạnh mẽ các kết nối mới trên máy chủ web được tải nặng.

  • cat /proc/sys/net/core/netdev_max_backlog, thường là 1000, độ dài tối đa của hàng đợi gói TCP
  • less /etc/security/limits.conf bạn có thể tìm thấy các giới hạn cho người dùng.
  • MaxSairs trong/etc/ssh/sshd_config

    MaxSimes Chỉ định số phiên mở tối đa được phép cho mỗi kết nối mạng. Mặc định là 10 .

  • #MaxStartups 10:30:60thường được nhận xét trong /etc/ssh/sshd_configvà theo mặc định được đặt thành 10

    Chỉ định số lượng kết nối không được xác thực đồng thời tối đa cho daemon SSH ... Mặc định là 10.


Người giới thiệu

  • man ssh, man sshdtrên máy của bạn.
  • Trang người đàn ông của sshd hoặc của sshd_config .

2
somaxconnlà số lượng kết nối nổi bật tối đa , nghĩa là tồn đọng nghe tối đa, không phải là 'số lượng kết nối TCP tối đa bạn có thể có'. Số lượng kết nối TCP tối đa bạn có thể có là các đơn đặt hàng có cường độ lớn hơn 128. Nếu không, các máy chủ thực tế sẽ không thể thực hiện được.
dùng207421

@ejp cảm ơn vì chỗ này, tôi đã vội và tôi nhớ "mới" trước khi kết nối. BTW "nổi bật" là chính xác hơn. Tôi đã thêm một số từ nhiều hơn với hy vọng nó rõ ràng hơn.
Hastur

MaxSessionschỉ giới hạn số phiên được ghép kênh trên một kết nối TCP ( chi tiết hơn ) để không giới hạn bạn kết nối lại với cùng một máy chủ. (Giới hạn mặc định là 10 cho tổng số phiên ssh sẽ là ngớ ngẩn tưởng tượng một webhost chia sẻ với hàng trăm hoặc hàng ngàn tài khoản người dùng và chỉ có 10 phiên ssh cho phép..)
Josef nói Khôi phục Monica

@Josef Nó được viết MaxSimes Chỉ định số phiên mở tối đa được phép cho mỗi kết nối mạng , không có gì khác nhau (như được báo cáo trong trang man): có thể không đủ rõ ràng. Cảm ơn đã tham khảo thêm và nhấn mạnh điểm này. (Lưu ý: BTW, việc sử dụng phổ biến máy tính Linux với ssh không phải là máy chủ web dùng chung với tài khoản người dùng 10 ^ 5+ và trong trường hợp đó, cài đặt mặc định không thể phù hợp theo định nghĩa :-))
Hastur

6

Vâng, nó hoàn toàn là. Nhưng điều này nên được xác định thực hiện. Bạn cũng có thể lập trình máy chủ ssh của riêng bạn (có thể không an toàn và tệ hơn) không thể xử lý nhiều kết nối. Nhưng cũng giống như các Máy chủ HTTP thông thường tất nhiên hỗ trợ điều này, openssh cũng vậy.

Trên thực tế đây là khái niệm về Unix: Một hệ thống nhiều người dùng, nơi một máy chủ thực hiện tất cả các công việc và chỉ các máy khách nhỏ kết nối (thiết bị đầu cuối).


4

Vâng, điều này rất phổ biến. Thật vậy, nếu được sử dụng như một máy chủ tập tin và bởi nhiều người dùng, nó thực sự cần thiết. SFTP sử dụng SSH và có rất nhiều hoạt động EDI cũng phụ thuộc vào nó.

Từ các thiết bị có thể kích hoạt các sự kiện với thông tin đăng nhập người dùng tùy chỉnh (chẳng hạn như poweroff hoặc khởi động lại).

Cũng xem xét SCP (WinSCP thường được sử dụng để truy cập mã nguồn) và người dùng KDE vẫn có thể sử dụng cá: trong Konqueror.

Đáng chú ý là việc sử dụng các cổng bổ sung trong trường hợp mất trong quá trình bảo trì (Ubuntu do-phát hành-nâng cấp, nói).

Vì vậy, có, tôi tập hợp bạn chưa bao giờ có nhiều thiết bị đầu cuối PuTTY mở?


Không có gì lạ tôi đã không! Nhưng cảm ơn bạn đã thông tin thêm, bạn có ý nghĩa gì về các cổng bổ sung để bảo trì?
Sam3000

1
Trong quá trình nâng cấp do-relesase từ một thiết bị đầu cuối từ xa, có nguy cơ comms sẽ bị mất (khởi động lại SSH hoặc mạng, giả sử). Nếu chúng không thể được thiết lập lại trên cổng 22 Ubuntu sẽ cung cấp một cổng thay thế 1022 bằng cách sử dụng phiên bản SSH thứ hai. Bản cập nhật xảy ra bên trong "màn hình" có thể được truy cập bằng màn hình -x / screen -r sau khi kết nối lại và sudo su. (nhìn vào "màn hình" và "tmux"). Rất nhiều thông tin xung quanh về điều này.
mckenzm
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.