MaxSessions
パラメータに問題がありますsshd_config
。
SSH接続を介したセッション数を制限したいです。たとえば、TCP転送に使用されます。 0に
設定するとMaxSessions
ログインは機能しませんが(大丈夫です。そうする必要があります)、1に設定すると1つのSSH接続を介して複数のセッションを持つことができます(1が多重化を無効にしても)。 2以上に設定すると効果も低下します。
おそらくあなたは私を正しい解決策に導くことができます。
私は次のようにテストしました。 PuTTY(Win)からサーバー(BSD)へのssh接続を開きます。ポート転送が使用中です(HTTP用)。そのため、ブラウザではSOCKSを使用しています。
2つの異なるWebサイトから2つのファイルを同時にダウンロードしていますが、このトンネルを介して2つのファイルを同時にダウンロードできますが、そうしないでください(MaxSessions
1に設定)。
sshd
- FreeBSD用OpenSSH 5.2ポータブル- オペレーティングシステム - FBSD 6.2
助けてくれてありがとう。
答え1
sshd_config(5)から
最大セッション数 ネットワーク接続ごとに許可される最大オープンセッション数を指定します。デフォルトは10です。
この特定の制限のためのmanエントリは多少曖昧です。この機能の変更ログメッセージを追加すると、さらに役立ちます。
単一のTCP接続でサポートされている多重セッションの数を制御できるように、MaxSessionsオプションがsshd_config(5)に追加されました。これにより、許可されたセッション数を以前のデフォルト値の10以上に増やし、接続の多重化を無効にしたり(MaxSessions = 1)、ログイン/シェル/サブシステムセッションを完全に禁止(MaxSessions = 0)したりできます。
実際、MaxSessionsパラメーターはセッション数を制限するように設計されています。多重化SSHセッションは単一のSSHセッションを介して実行できます。 ssh_config(5) の ControlMaster セクションを参照してください。
セッション多重化を使用すると、同じホストへの他のすべての接続で再利用できる単一のマスター接続を確立できます(ただし、必ずしもそうではありません)。これはポート転送やSOCKSプロキシには影響しません。また、接続能力には影響しません。再び新しいネットワークを介して同じホストに接続します。これは接続の多重化に限定され、それ以上ではありません。
答え2
以下は、同時接続制限に関する一般情報を探しているこのスレッドをクリックしている人のための注意事項です。
ユーザーがSSHを介して持つことができる同時ログインの数を制限するには、次のように調整できます。limits.conf
/etc/security/limits.conf
:
foo-user - maxlogins 1
のsshd_config
使用を防ぐためにセッション数を制限できます。ControlMaster auto
~/.ssh/config
/etc/ssh/sshd_config
:
MaxSessions 1
それからsudo service sshd restart
またはsudo systemcl restart sshd
答え3
Chefを使用している場合は、多重化に依存しているかのように追加するとMaxSessions 1
中断/etc/ssh/sshd_config
されます。knife ssh
誰でも解決策があれば聞きたいです! (MaxSessions 1を追加してChefを破らないこと、つまり...)
メモ:上記の^^^に対して、次のエラーが表示されます。
ERROR: IOError: closed stream
ERROR: Net::SSH::Disconnect: connection closed by remote host