Mac とNAS とUPS と
質問兼、情報提供です。情報はネタ程度でお読み下さい。
まず使用機器は下記です。
Mac はmacOS High Sierra 10.13.3
NAS はSynology DS215j
UPS はOMRON BN50T とPowerAttendant Lite 1.11(最新版は1.12 のようです。)
UPS とMac はUSB 接続
それでここで質問です。
シェルスクリプトでssh やshutdown コマンドを無人で実行する場合、管理者パスワードが平分になるようです。これを暗号化する方法はないでしょうか。
可能であればMac に純正でないアプリケーション等をインストールせずに行いたいと考えます。また認証鍵で行う方法が有るようですが、これも避けパスワード方式だとありがたいです。
手っ取り早く思いついたのはAutomator でアプリケーションにしてしまえばテキストファイルではなくなります。が、Hex Editor 系のアプリケーションで覗くとパスワードとは判らないかもしれないですが、やはりテキストとして内部に存在します。
なおシェルスクリプトの実行はUPS メーカの提供するユーティリティで停電時にコマンドラインを実効する能力があるようですので、それを使おうと思っております。未検証ですがシェルスクリプトをアプリケーション化した場合はopen コマンドでアプリケーションを実行出来るのではと推測しています。(アプリケーションを直接実行する機能もある気配です。)
以下、情報(ネタ)です。不要な人は読み飛ばして下さい。
Apple 製の機器でない話なのでサラッと書きます。PowerAttendant Lite というユーティリティですが先にも書いた通りUPS との連携で停電時などに接続された機器をシステム終了する機能があります。その機能の中にLAN 接続の機器にssh でログインしshutdown コマンドを実行する能力があります。
今回、この設定に数日かかりました。探し方が悪い可能性がありますがネットを検索してもイマイチでした。成功した設定が下記です。一部割愛して書きます。
コマンドタイプ: SSH V2
OS:Linux
文字コード:macintosh
下記4 項目はNAS に設定した物を設定しました。ただし一般も管理者も管理者のID とパスワードを設定しました。別に一般である必要もないようなので。
ログイン一般ユーザID
ログイン一般パスワード
ログイン管理者ユーザID
ログイン管理者パスワード
スクリプトファイルの内容はサンプルを参考に下記。
rcv=$
snd=su $u2
rcv=word:
snd=$p2
rcv=$
snd=sudo shutdown -h now
rcv=word:
snd=$p2
rcv=$
snd=exit
上から4 行はいらない気がしまが、とりあえず動くので、このままにしています。shutdown コマンドを工夫すれば停電復帰後に自動で起動することもできるとネットに出ていましたが、自動起動はしなくてよいので単純に落しています。
数日悩んだのが「文字コード」です。NAS の文字コードだと思い込みデフォルトのUTF-8 にしていたため動きませんでした。
長くなったので、とりあえずここで一旦、設定編と言う事で書込みます。
Apple Pencil, OS X Yosemite (10.10.5), null