SSHユーザーのシェルアクセスをTelnetのみに制限する

SSHユーザーのシェルアクセスをTelnetのみに制限する

Telnetを使用するアプリケーションを実行するCentOS 7サーバーがあります。私たちは、ユーザーが直接Telnetアクセスを許可するためにポートを開くのではなく、SSHを使用してログインし、そこからTelnetに接続できるようにしたいです。

ただし、これらのユーザーは他のアイテムにまったくアクセスする必要はありません。したがって、Telnetインターフェイスを自動的に開くカスタムシェルを作成するか、Telnetコマンドのみを許可するようにシェルを制限できるかどうか疑問に思います。

もちろん、他のより良い解決策があれば、彼について聞きたいです!

アクセスする必要がある特定のコマンドは次のとおりです。

telnet <ip> 25568

<ip>設定された数少ないローカルIPアドレスの1つになります。

ベストアンサー1

一つの方法はchsh彼らのアカウント次のものをログインシェルとして使用してください。適切な数字が入力されるまで永久に繰り返され、この時点でスクリプトは呼び出しに置き換えられますtelnet。提供されたコマンドに問題がある場合は、telnetエスケープコード(telnet -E ...)を無効にする必要があります。それ以外の場合は、telnet提供されている各オプションを調べて、設定する必要があるオプションがあることを確認してください。unsetリモートSSHクライアントから渡される特定の環境変数は、慎重にまたは具体的に設定することもできます(たとえば、ロケールなどのスクリプトをPATH使用env > whatenvissetしてこれらの変数を調べます)。

#!/bin/bash

PS3='number for remote host: '

while :; do
  select ipaddr in 192.0.2.4 192.0.2.5 192.0.2.6; do
    if [[ -n "$ipaddr" ]]; then
        exec /usr/bin/telnet "$ipaddr" 25568
    fi
  done
done

必要に応じてリモートで自動化するのは簡単ですが、より多くのグラフィックオプションを持つポップアップメニューを使用するのと同じくらいきれいではありませんexpectdialog

おすすめ記事