次のようにゲートウェイに SSH トンネルを開きました。
autossh -M 30000 -f -N example.com -L \*:20022:192.168.1.40:22
たとえば、John というユーザーがこの SSH トンネルのみを使用するようにし、他のすべてのユーザーを制限して、John 以外のユーザーがポート 20022 を使用して SSH できないようにするにはどうすればよいでしょうか。ユーザー john は、ローカル ユーザーとしても、LDAP としても、ゲートウェイ上に存在しないことに注意してください。
答え1
クライアントがLinuxホストの場合は、次のように実行できます。iptables:
iptables -A OUTPUT --dest 192.168.1.40 --dport 22 -m owner --uid-owner john -j ACCEPT
iptables -A OUTPUT --dest 192.168.1.40 --dport 22 -j REJECT
これは送信元ポート 20022 ではなく、宛先アドレスとポートを条件としていることに注意してください。本当にその 1 つの送信元ポートのみへのアクセスを制限したい場合は、と--sport 20022
の代わりにを使用できます。ただし、もちろん、これによって別のユーザーが別のポートで同様のトンネルを開くのを阻止することはできません。--dest
--dport
答え2
ゲートウェイの authorized_keys ファイルに John の公開キーのみを公開します。pw auth をオフにします。