同じシステムへの複数のSSH接続-可能ですか?


14

着信SSH接続を受け入れることができるサーバーとして機能するLinuxコンピューターがあります。

電話やラップトップなどの他のデスクトップなど、複数のデバイスをSSHを使用して同じサーバーに確実に同時に接続することは可能ですか?

助けてくれてありがとう。


63
質問する前に試してみませんでしたか?
ドミトリーグリゴリエフ

1
これだけでなく、同じシステムペア間に複数のリンクを設定できます。また、コマンドラインに「Windowsリモートデスクトップ」の動作がscreen必要moshな場合(複数のリンクに渡される単一のインターフェイス)を見つけたり、役に立つかもしれません。
pjc50

7
私が尋ねる前に単純に試しなかった理由は2つあります。最初の理由は、私がLinuxを自分で理解していることに対する信頼の欠如です。うまく機能していたとしても、それを信頼するようになっても信頼性を信頼できなかったでしょう。2つ目は、スーパーユーザーコミュニティは、一般的に言って、質問する人を支援するための素晴らしくて迅速なコミュニティです。感謝コミュニティです。
Sam3000

回答:


50

簡単な答え-はい。通常はデフォルトで機能します。

長い答え-使用目的によっては、複数の接続で速度が低下する場合がありますが、これは帯域幅の問題であり、sshの問題ではありません。


15

はい、可能です。これはデフォルトの動作です。

信頼

更新バージョン使用してsshおり、プロトコルが1以上ではない場合に信頼できます

grep "Protocol"  /etc/ssh/sshd_config

上記のコマンドはあなたに与える必要がありますProtocol 2

接続の制限

sshの暗号化された進化として見ることができtelnetます。サーバーへのリモートアクセスを許可するために、はるか'69年に生まれました。sshTCP経由で接続し、Xセッション(グラフィカルセッション)も転送できることに注意してください。マルチタスクとマルチユーザーは、Unixの内部にあります...制限がないわけではありませんが!!!

これらの制限の一部は、TCPおよびSSHの制限で確認できます。

  • cat /proc/sys/net/core/somaxconn、通常は128で、保持できる最大TCP 未処理接続を確認します。

    kern.ipc.somaxconn sysctl(8)変数は、新しいTCP接続を受け入れるための待機キューのサイズを制限します。通常、デフォルト値の128は、負荷の高いWebサーバーで新しい接続を確実に処理するには低すぎます。

  • cat /proc/sys/net/core/netdev_max_backlog、通常1000、TCPパケットキューの最大長
  • less /etc/security/limits.conf ユーザーの制限を見つけることができます。
  • MaxSessions in/etc/ssh/sshd_config

    MaxSessionsネットワーク接続ごとに許可されるオープンセッションの最大数を指定します。デフォルトは10です。

  • #MaxStartups 10:30:60通常はコメント化され、/etc/ssh/sshd_configデフォルトでは10に設定されています

    SSHデーモンへの同時非認証接続の最大数を指定します...デフォルトは10です。


参照資料

  • man sshman sshdあなたのマシンで。
  • sshdまたはsshd_configのマニュアルページ。

2
somaxconnは、未処理の接続の最大数、つまり最大の待機バックログであり、「保持できるTCP接続の最大数」ではありません。使用できるTCP接続の最大数は、128を超える桁です。そうしないと、実用的なサーバーが使用できなくなります。
-user207421

@ejpはその場に感謝します。急いでいて、接続の前に「新しい」を見逃しています。ところで、「優れた」はより正確です。それがより明確であることを期待して、いくつかの言葉を追加しました。
ハスター

MaxSessions単一のTCP接続で多重セッションの数を制限するだけです(詳細)。同じホストに再度接続することを制限しません。(総SSHセッションのための10のデフォルトの制限は不合理になり、ユーザーアカウントと許可のみ10 SSHセッションの数百または数千と共有ウェブホストを想像してみてください。)
ヨーゼフは回復モニカ言う

それが書かれている@Josef MaxSessionsの指定を開いているセッションの最大数は、許可されたネットワーク接続ごとにそうでないかもしれない明確な十分な:何も異なる(manページで報告されているように)。追加の参照をありがとう、この点に下線を引いてください。(注:ところで、sshを使用したLinuxコンピューターの一般的な使用は、10 ^ 5 +ユーザーアカウントを持つ共有Webホストではありません。その場合、デフォルト設定は定義上適切ではありません:
Hastur

6

はい、完全にそうです。ただし、これは実装定義でなければなりません。同様に、複数の接続を処理できない独自の(おそらくそれほど安全ではなく、さらに悪い)sshサーバーをプログラムすることもできます。しかし、もちろん一般的なHTTPサーバーがこれをサポートしているように、opensshもサポートしています。

実際、これはまさにUnixの概念です。サーバーがすべての作業を行い、小さなクライアント(端末)のみが接続するマルチユーザーシステムです。


4

はい、これは非常に一般的です。実際、ファイルサーバーとして使用され、多くのユーザーが使用する場合、それは絶対に不可欠です。SFTPはSSHを使用し、それに依存するEDIアクティビティも多数あります。

デバイスから、カスタムユーザーログオンでイベントをトリガーすることができます(電源オフや再起動など)。

また、SCP(WinSCPは一般にソースコードにアクセスするために使用されます)、およびKDEユーザーはまだKonquerorでfishを使用できます。

メンテナンス中に紛失した場合に追加のポートを使用することも注目に値します(Ubuntu do-release-upgrade、say)。

そうです、複数のPuTTY端末を一度も開いたことがありませんか?


奇妙なことに、私はそうではありませんでした!しかし、追加情報をありがとう、メンテナンス用の追加ポートについてはどういう意味ですか?
Sam3000

1
リモート端末からdo-relesase-upgradeを実行すると、通信が失われるリスクがあります(SSHまたはネットワークの再起動など)。これらをポート22で再確立できない場合、Ubuntuは2番目のSSHインスタンスを使用して代替ポート1022を提供します。更新は、再接続とsudo suの後、screen -x / screen -rでアクセスできる「screen」内で行われます。(「画面」と「tmux」を調べてください)。これに関する多くの情報。
mckenzm
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.