回答:
友人がコンピュータにSSHで接続できる場合、友人は帯域幅の一部を使用しているため、インターネット接続へのアクセスを完全にブロックすることはできません。
そうは言っても、1つの解決策は、友達があなたの接続でできることを制限することです。友人のIPをホワイトリストに登録し、他のすべてをブラックリストに登録するファイアウォールを設定できます。そうすれば、友人はあなたのコンピューターにSSHで接続できますが、そこからは自分のIP以外のIPに到達することはできません。
自分でユーザー固有のファイアウォールを設定したことはありませんが、IPTablesを使用して実現できると考えています。また、ユーザーがサーバーに大きなファイルをアップロードすることにより、依然として帯域幅を多く消費する可能性があることに留意してください。これを特に防止したい場合は、ユーザーごとの帯域幅を制限する必要があります。
/ etc / ssh / sshd_configに次のものが含まれていることを確認したい
AllowTcpForwarding no
そして、ファイルの最後に置く
Match User yourusername
AllowTcpForwarding yes
これにより、あなたとあなただけがあなたの心のコンテンツにポートフォワードすることができますが、Joãoが言ったように、シェルアクセスも無効にしない限り、彼らが自分のプログラムを実行するのを防ぐことはできません。
sshdによるTCP転送を無効にできますが、ユーザーの発信アクティビティを制限するためにさらに多くの作業を行う必要があることに注意してください。それらにシェルを与えることは、彼らに多くの力を与えることを意味します。
たとえば、サーバーにファイルをscpして/ homeのファイルを実行できる場合、pppdバイナリをアップロードし、それを使用してPPP over SSHを実行できます。着信接続を許可すると、/usr/sbin/sshd -p 9999 -f special_sshd_config
そのsshdを介してサーバーを実行して使用できます。
iptables所有者モジュール(man iptables、所有者の検索)とchroot jailを調べたいかもしれませんが、これはシェルエクスペリエンスを損なうことなく解決するのは本当に難しいです。
これは、serverfaultでも/server/181660/how-do-i-log-ssh-port-forwardsで尋ねられており、パッチがあります:http : //blog.rootshell.be/2009/ 03/01 / ssh-on-on-ssh-forwarding /