リモートシェルは、ネットワークを介して別のユーザーおよび別のコンピューターとしてコマンドを実行できるコマンドラインクライアントプログラムです。 rshはrshdサーバーデーモンを接続するクライアントであり、rhsdサーバーデーモンはtcpポート番号514で実行されます。Rshdは暗号化をサポートしていないため、パスワードをわかりやすく転送するため、実稼働環境での使用は非常に安全ではありません。現在、rshはSSHに置き換えられています。
特別な要件に合わせて構成する必要がある場合は、簡単なガイドに従ってセットアップできます。
yumコマンドを使用してrshとrshdをインストールします。ここにyum構成ガイドがあります 。
[root@server ~]# yum -y install rsh rsh-server
サーバーデーモンを再起動します。
[root@server ~]# systemctl restart rsh.socket [root@server ~]# systemctl restart rlogin.socket [root@server ~]# systemctl restart rexec.socket
システム起動時に自動起動します。
[root@server ~]# systemctl enable rsh.socket [root@server ~]# systemctl enable rlogin.socket [root@server ~]# systemctl enable rexec.socket
リモート実行は2つのファイルによって制御されます。
1. /etc/rhosts.equiv (rootを除くすべてのユーザー)
2. $ HOME / .rhosts (ターゲットサーバー)
.rhostsファイルは、/ etc/rhosts.equivルックアップが失敗した場合にのみ使用されます。両方のファイルにホスト名のリストが含まれています およびアクセスを許可する必要のあるユーザー名。
最初の列は、ログインが許可されているリモートマシンの名前です。
2番目の列は、rshを実行するユーザーの名前です。これが空白の場合、ターゲットのユーザー名が使用されます。
2つのフィールドのそれぞれを+に設定して、ワイルドカードを示すことができます。
たとえば、ユーザーに ramを許可するには マシン上client.itzgeek.com ターゲットにrajとしてログインするには、ターゲットマシンに行を追加します。
[raj@server ~]$ vi ~/.rhosts client.itzgeek.com ram
次に、上記の外部マシンのいずれかからコマンドを実行します。たとえば、外部マシン(client.itzgeek.com)からの稼働時間のステータスを確認します。 host_nameはrshdサーバーを指します。
[ram@client ~]$ rsh -l raj host_name uptime
その他:
ファイアウォールとSELinuxセキュリティ設定を無効にします 。外部のrootユーザーがコマンドを実行できるようにするには、/ etc/securettyファイルを編集します。
[root@server ~]# vi /etc/securetty
以下を追加してください。
rsh rexec rlogin
以上です。