SSH経由で起動するとデーモンが実行されない

SSH経由で起動するとデーモンが実行されない

SSHを介してリモートでrngdデーモンを起動しようとしています。残念ながら、コンピュータにログインするまでは機能しないようです。私が使用するコマンドは次のとおりです。

ssh -n -o StrictHostKeyChecking=no -i ... user@host "sudo rngd \
       -r /dev/urandom -o /dev/random -t 10"`

電話をかけるとcat /proc/sys/kernel/random/entropy_avail非常に低い値(約150)が出てくるので、rngdが実行されていないようです。ところでボックスにログインすると、数秒ほど待ってプールがいっぱいになったか(3000秒)確認します。

答え1

あなたは私たちに多くの情報(例えば、どのOSで?)を提供していませんが、私の考えではそうしないでください。

Linuxを使用していると/dev/urandomします。/dev/random 接続済み/dev/randomランダムビットがある場合にのみ提供し、/dev/urandom同じランダムビットプールを使用しますが、/dev/randomそのビットを無限に拡張してください。

あなたのコマンドは、拡張疑似乱数ビットを/dev/random再び/dev/random

答え2

私の間違いは、「代わりに」を使用したことです。私が知っている限り、「」を使用すると、ローカルシステムでsshコマンドを実行すると、シェルはその文字列を解釈します。リモートシステムに何が渡されるのかわかりません。コマンドの結果、シェルは変更されていない文字列を渡します。

ssh -n -o StrictHostKeyChecking=no -i ... user@host 'sudo rngd \
       -r /dev/urandom -o /dev/random -t 10'

働くしかし、私は別の道に行くことにしました、そして私たちはhaveged

ssh -n -o StrictHostKeyChecking=no -i ... user@host 'sudo apt-get \
        install haveged'

それが完了しなければならないすべてです。をインストールして起動し、起動時に起動するhavegedようにエントリを追加します。

関連情報