従来は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 件のコメント:
コメントを投稿