MUDを作成しようとしているが、欠点の1つは、安全ではない「telnet」を使用することです。 「匿名」ユーザーが特定のアカウントにアクセスできる機能を維持したいと思います。そのアカウントができる唯一のことは、ローカルポートにリモートでログインすることだけです。
つまり、私が望むのは誰にでも実行できると言えることです。
ssh [email protected]
私の泥に安全に「接続」されています。
「匿名」アカウントは、「telnet localhost:34843」または同様のコマンドを実行します。理想的には、匿名アカウントには他のアクセス権はありません。ポート転送なし、ファイルなし(Telnetの実行に必要なファイルを除く)など...
それが重要な場合は、クラウドホスティングサービスでいくつかのバージョンのUbuntuを使用します。
ベストアンサー1
特定のアカウントが1つのコマンドのみを実行できるようにOpenSSHを設定できます(クライアントから送信されたコマンドは無視されます)。で/etc/ssh/sshd_config
次の行を追加します。
Match User anonymous
ForceCommand /usr/bin/telnet localhost 34843
PasswordAuthentication yes
PermitEmptyPasswords yes
AllowAgentForwarding no
AllowTcpForwarding no
PermitTTY yes
PermitTunnel no
X11Forwarding no
ホームディレクトリはルートが所有するように設定する必要があり、ルートとその中にあるファイルanonymous
のみを変更できます。~anonymous/.ssh
少なくとも1つのことは、シェルエスケープを無効にすることです。少なくとも一部のTelnet実装では、ユーザーはCtrl+を押してシェルにエスケープできます] !。 Linuxネットキットの実装では、telnet -e ''
コマンドモードが無効になり、Telnetがシェルにアクセスできなくなると思います。環境をSHELL
次に設定することも/bin/false
便利な予防策です。