Кілька підключень SSH до однієї системи - чи це можливо?


14

У мене є комп'ютер Linux, який діє як сервер, який може приймати вхідні SSH-з'єднання.

Чи можливо надійно підключити кілька пристроїв одночасно, наприклад, мій телефон і ноутбук, а також інші настільні комп'ютери, до того ж сервера за допомогою SSH?

Дякую за допомогу.


63
Чому ви просто не спробували, перш ніж запитати?
Дмитро Григор’єв

1
Не тільки це, але ви можете мати кілька зв'язків між однією і тією ж парою систем. Ви також можете знайти screenабо moshкорисно, якщо ви хочете поведінку "віддалений робочий стіл Windows" для командного рядка: єдиний інтерфейс, який передається навколо декількох посилань.
pjc50

7
Є 2 причини, чому я не просто намагався, перш ніж запитати; перше - це відсутність віри в моє власне розуміння Linux - якби він працював, я б досі не довіряв його надійності, якби я на нього покладався. По-друге, спільнота Суперусер - це, загалом кажучи, дивовижна та швидка допомога тим, хто просить - спасибі спільноті.
Sam3000

Відповіді:


50

Коротка відповідь - Так. Зазвичай це працює за замовчуванням.

Довга відповідь - залежно від того, для чого ви його використовуєте, воно може сповільнюватися при декількох з'єднаннях, але це проблема пропускної здатності, а не ssh.


15

Так, можливо, це поведінка за замовчуванням.

Довіра

Ви можете розраховувати , якщо ви використовуєте оновлену версію з sshі протоколу не більше 1.

grep "Protocol"  /etc/ssh/sshd_config

Наведена вище команда повинна дати вам Protocol 2.

Обмеження для з'єднань

Ви можете бачити, sshяк зашифрована еволюція telnetнароджених у далекому 69 році, щоб дозволити віддалений доступ до сервера. Зауважте, що він sshпідключається через TCP, і він також може пересилати X-сеанси (графічний сеанс). Багатозадачність та багатокористувацькість - це внутрішня природа Unix ... навіть якщо це не без обмежень !!!

Деякі з цих лімітів можна побачити в межах TCP та SSH:

  • cat /proc/sys/net/core/somaxconn, Як правило , 128, щоб побачити максимум TCP видатні з'єднання ви можете мати;

    Змінна kern.ipc.somaxconn sysctl (8) обмежує розмір черги прослуховування для прийому нових TCP-з'єднань. Значення за замовчуванням 128, як правило, занадто низьке для надійної обробки нових з'єднань на високо завантаженому веб-сервері.

  • cat /proc/sys/net/core/netdev_max_backlog, зазвичай 1000, максимальна довжина черги пакетів TCP
  • less /etc/security/limits.conf ви можете знайти обмеження для користувача.
  • MaxSessions в/etc/ssh/sshd_config

    MaxSessions Вказує максимальну кількість відкритих сеансів, дозволених на підключення до мережі. За замовчуванням - 10 .

  • #MaxStartups 10:30:60зазвичай коментується в /etc/ssh/sshd_configі за замовчуванням встановлено 10

    Вказує максимальну кількість одночасних несанкціонованих підключень до демона SSH ... За замовчуванням - 10.


Список літератури

  • man ssh, man sshdна вашій машині.
  • Сторінка людини sshd або sshd_config .

2
somaxconn- максимальна кількість розірваних з'єднань, тобто максимальне відставання прослуховування, а не "максимальна кількість з'єднань TCP, які ви можете мати". Максимальна кількість підключень TCP, які ви можете мати, - це порядки більше 128. Інакше практичні сервери були б неможливі.
user207421

@ejp спасибі за місце, я поспішав і пропускаю "нове" перед з'єднанням. BTW "видатний" є більш точним. Я додав кілька слів більше, сподіваючись, що це буде зрозуміліше.
Гастур

MaxSessionsобмежує лише кількість мультиплексованих сеансів за один TCP-з'єднання ( докладніші відомості ), щоб не обмежувати повторне з'єднання з тим самим хостом. (Обмеження за замовчуванням 10 для загального числа сеансів SSH б абсурдним уявити загальний хостинг з сотнями або тисячами облікових записів користувачів і тільки 10 SSH сесій допускається ..)
Джозеф каже відновило Моніка

@Josef Написано MaxSessions Вказує максимальну кількість відкритих сеансів, дозволених для підключення до мережі , нічого іншого (як повідомляється на сторінці man): можливо, недостатньо зрозуміло. Дякуємо за додаткову довідку та підкреслили цю точку. (Примітка: BTW звичайне використання комп’ютера Linux з ssh не є спільним веб-хостом з обліковим записом користувачів 10 ^ 5 +, і в цьому випадку налаштування за замовчуванням не може бути відповідним за визначенням :-))
Hastur

6

Так, це абсолютно так. Але це має бути визначено реалізацією. Ви також можете запрограмувати власний (мабуть, не такий захищений і гірший) ssh-сервер, який не може обробляти декілька з'єднань. Але так само, як звичайні сервери HTTP, звичайно, це підтримують, і opensh робить це.

Насправді це сама концепція Unix: багатокористувацька система, де сервер виконує всю роботу і підключаються лише невеликі клієнти (термінали).


4

Так, це дуже часто. Дійсно, якщо використовується як сервер файлів і багато користувачів, це абсолютно важливо. SFTP використовує SSH, і від цього залежить багато активності EDI.

З пристроїв можна запускати події за допомогою користувацьких логотипів (наприклад, poweroff або перезавантаження).

Розглянемо також SCP (WinSCP зазвичай використовується для доступу до вихідного коду), і користувачі KDE все ще можуть використовувати рибу: в Konqueror.

Примітним є також використання додаткових портів у разі втрати під час обслуговування (скажімо, Ubuntu do-release-upgrade, скажімо).

Так так, я думаю, у вас ніколи не було відкрито кілька терміналів PuTTY?


Не дивно, що я цього не зробив! Але дякую за додаткову інформацію, що ви мали на увазі про додаткові порти для обслуговування?
Сам3000

1
Під час оновлення do-relesase з віддаленого терміналу існує ризик втрати комікси (скажімо, перезапуск SSH або мережі). Якщо їх неможливо відновити на порту 22, Ubuntu надає альтернативний порт 1022, використовуючи другий екземпляр SSH. Оновлення відбувається всередині "екрана", до якого можна отримати доступ із екраном -x / screen -r після підключення та sudo su. (заглянути в "екран" і "tmux"). Про це багато інформації.
mckenzm
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.