2020年7月19日日曜日

Intel AMT を SSL 化したくて MeshCommander 使ったら一発だった件

昨今の COVID-19 騒動によりめっきり自宅でしか仕事をしなくなったので,この環境を整えるべく自宅内仕事検証用サーバ( hp z840 )のコントロールをどこからでもリモートで可能にしようと思い立つ。

手段としては,WoL だとどこかに常時起動のマシンが必要となり,私の自宅環境のポリシー (少しでも火事の危険があるものは排除)としては許し難いので,Intel AMT を使うことに。

しかし,単純に MEBX から設定しただけだと SSL の設定が出来ず,これじゃ外からコントロールするのも不安だなぁと思っていて調べたところ MeshCommander なんていう素晴らしいソフトを発見。これを使うと一発で SSL 設定可能だった。MeshCommander は,一言で言うと AMT のクライアントで,動作的には Node.js を使ったローカルの Web アプリになっている(WIndows には専用のクライアントバイナリ版があるみたいだけど,それ以外の環境では Node.js 版を使ってね的な代物)。


以下は SSL 有効化の作業メモ。
  1. MeshCommander のインストール
    $ npm install meshcommander
  2. MeshCommander 起動
    $ node node_modules/meshcommander
    MeshCommander running on http://127.0.0.1:3000.
  3. 上記のように node コマンドで起動すると接続用 URL が表示されるので,そこに Web ブラウザからアクセスする。
  4.  コントロールするサーバの追加
    画面上の [Add Computer] をクリックして適当にコントロールするサーバの情報を入力して [OK]。

  5. コントロールするサーバに接続
    トップ画面には追加したサーバが表示されているはずで,その右側に[Connect] ボタンがあるのでそれをクリックするとサーバに接続される。
  6. SSLサーバ証明書の発行と登録
    サーバに接続したら,左側のメニュから [Security Settings] をクリックし,[Issue Certificate] で適当に情報を入力。
  7. SSL 接続の設定
    上記の[Security Settings]の画面のまま,上部に [Remote TLS security] という欄があり,そこが Disabled になっているはずなのでこれをクリック。

    [Certificate] で先ほど作成した証明書を選び,[Security] で適当な値を選ぶ。私は[Server-aut, non-TLS allowed]を選択して外からは SSL(16993) ,内部からはどっちでも(16992, 16993) 接続できるような運用にしようと思っている。
  8. これでブラウザから https://<AMTアドレス>:16993/  にアクセスすると,https 経由で AMT の設定ができるようになった。もちろんこのまま MeshCommander の localhost:3000 で作業を継続しても良い。

2020年7月15日水曜日

"git push -f" failed with "You are not allowed to force push code to a protected branch on this project" on GitLab

I would like to push my git branch by compulsion to my GitLab remote repository, but I couldn't do it with the following error.

$ git push -f
 : (snip)
Enumerating objects: 9, done.
Counting objects: 100% (9/9), done.
Delta compression using up to 8 threads
Compressing objects: 100% (9/9), done.
Writing objects: 100% (9/9), 3.22 KiB | 3.22 MiB/s, done.
Total 9 (delta 0), reused 8 (delta 0)
remote: GitLab: You are not allowed to force push code to a protected branch on this project.

Resolution:
Do the following procedure on the web page of your GitLab repository .

1. [Settings] -> [Repository] -> [Protected Branches]
   Push "Expand " button

2. If  a branch is protected, you must see "Unprotect" button. Pushing the "Unprotect" button allows you to force commit.