SSHトンネルを特定のユーザーに制限する

SSHトンネルを特定のユーザーに制限する

次のようにゲートウェイに 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 をオフにします。

関連情報