RSHを使用するローカルネットワークを介したrsyncは、「拒否拒否(公開鍵)」を返します。

RSHを使用するローカルネットワークを介したrsyncは、「拒否拒否(公開鍵)」を返します。

同じローカルネットワーク上の2台のコンピュータにrsyncをインストールしました。 2つの間で/var/www/html/フォルダを同期しようとしています。

マシンAに「rsync」というユーザーを作成しました。

次に、マシンBで次のコマンドを実行します。

rsync --rsh=rsh [email protected]:/var/www/html/ /var/www/html/

...次のエラーが発生します。

Permission denied (publickey).
rsync: connection unexpectedly closed (0 bytes received so far) [Receiver]
rsync error: unexplained error (code 255) at io.c(235) [Receiver=3.1.2]

コマンドにsshの代わりにrshが必要な場合、「publickkey」関連のエラーが発生するのはなぜですか?内部網なので盗聴の危険がないのでrshを使って仕事を簡素化したかったです。

誰もがこれを行うために私が逃したステップを教えてもらえますか?

(いくつかの追加の注意:他のrsyncフラグが必要であることを知っていますが、これから始めました。また試してみました。[Eメール保護]予期したエラーが発生しました。だから私はそれが少なくとも正しい場所に接続しようとしていることを知っています。 )

答え1

rsh実際のクライアントをインストールしましたか?それとも/usr/bin/rshシンボリックリンクですか/usr/bin/ssh?これは今日非常に一般的な設定です。

たとえば、Debianはrsh代替システムを介して次のシンボリックリンクを使用しますssh

$ ls -lF /usr/bin/rsh
lrwxrwxrwx 1 root root 21 May 18  2018 /usr/bin/rsh -> /etc/alternatives/rsh*

$ ls -lF /etc/alternatives/rsh
lrwxrwxrwx 1 root root 12 May 18  2018 /etc/alternatives/rsh -> /usr/bin/ssh*

$ update-alternatives --display rsh
rsh - auto mode
  link best version is /usr/bin/ssh
  link currently points to /usr/bin/ssh
  link rsh is /usr/bin/rsh
  slave rsh.1.gz is /usr/share/man/man1/rsh.1.gz
/usr/bin/ssh - priority 20
  slave rsh.1.gz: /usr/share/man/man1/ssh.1.gz

実際のクライアントが必要な場合は、代替リンクを自動的に更新するパッケージをインストールするrsh必要があります。rsh-client

rsh-clientたとえば、テストのために仮想マシンにインストールしました。

# update-alternatives --display rsh
rsh - auto mode
  link best version is /usr/bin/netkit-rsh
  link currently points to /usr/bin/netkit-rsh
  link rsh is /usr/bin/rsh
  slave rsh.1.gz is /usr/share/man/man1/rsh.1.gz
/usr/bin/netkit-rsh - priority 100
  slave rsh.1.gz: /usr/share/man/man1/netkit-rsh.1.gz
/usr/bin/ssh - priority 20
  slave rsh.1.gz: /usr/share/man/man1/ssh.1.gz

PS:rsh古くて安全でないゴミです。どんな場合でも、「完全に信頼でき、信頼できる」ローカルネットワークでもそれを使用しないでください。代わりに使用してくださいssh。数分後にSSHキーペアを作成し(まだない場合)、~/.authorized_keysリモートシステムのファイルに公開キーをインストールします。

関連情報