2019-05-07

FreeBSD12の標準構成にはrshがない

もう20年近くも動かしてきたFreeBSD/i386から、ThinkPad e530cによるFreeBSD/amd64に移行しました。日々利用しているメール等の環境は問題なさそうなことを確認しましたが、これまで利用してきたのと同様の環境となるように、今後も設定をしていかなければなりません。

従来はWindows10の環境からrshによりFreeBSD/i386のコマンドを起動させて、諸々の作業をしていました。FreeBSD/i386側のコマンドというのはplatexやR、Maximaなどです。ちなみにWindows側で使っているrshは、以下のようなものです。
RSH for Windows (c)2010,2011 Bryan Chafy. Licensed under the GPL.
同じことをFreeBSD/amd64でもやろうと思っているので、動作を確認してみたところ、動きませんでした。調べてみると、FreeBSDでは標準構成からrshが無くなっていることを知りました(FreeBSD 12 から rsh が消える ので net/bsdrcmds)。

標準構成からは消えてもパッケージから入れれば済むのであれば、それでも構いません。入れてみて試すと、やはり動いてくれません。何かリモートログイン時にセキュリティ絡みの問題があるようなメッセージが出てきます。

そもそもFreeBSD12でrshが消えたのは、セキュリティを考えると推奨できないからだと思われます。rshよりもsshを利用すべきなのでしょう。しかしsshだと、リモートコマンドをキックするために、パスフレーズを入力する必要が出てくるのが、気に入らないところです。

Webで調べると、パスフレーズを入れない鍵を使えばよいという回避策が氾濫していますが、それも気が進みません。既にパスフレーズを持った鍵を作って利用しているので、それとの兼ね合いが気になります。また「ssh/ホストベース認証」という方法もあるようです。今回は採用を見送りましたが、この方法ならスマートかもしれません。

何が問題なのか、/var/logにある情報を見ても糸口がありません。困りましたが、ふと閃いたのが/etc/pam.d/rshの存在です。旧いバージョンのFreeBSDではrshが標準構成に含まれていましたから、PAMに関するファイルも存在していました。ところが標準構成から外れ、パッケージbsdrcmdsから入れることが出来るようになっても、/etc/pam.d/rshが復活しないのです。

安易かもしれませんが、FreeBSD10の/etc/pam.d/rshを所定のディレクトリにコピーしてみたところ、無事にrshでリモートコマンドが実行されました。
C:\Users\FURUSAWA>rsh tpe530c -l furusawa "env LANG=C date"
Tue May  7 15:33:19 JST 2019
これで一安心です。

0 件のコメント:

コメントを投稿