覚えたら書く

IT関係のデベロッパとして日々覚えたことを書き残したいです。twitter: @yyoshikaw

オンライン試験監督付き試験の受験に関するメモ

AZ-900 - Microsoft Azure Fundamentals の資格試験を受けました。


内容自体は極端に難しいものではないので、合格しました。

この資格や試験内容等については特に触れないですが、
この試験が私にとって初めての 自宅でのオンライン受験(オンライン試験監督付き試験)だったので、
今後のために 自宅でのオンライン受験 に関しての作業についてメモしておきます。
(※AZ-900 自体は、テストセンターでも受験できるはずです)

以下の内容は、受験する資格 や 試験のプロバイダーなどによっても異なってくると思います。(私の場合は ピアソンVUE)
また、私は Windows 10 で受験しましたので、macOS での受験の場合も若干異なってくると思います。

必須

受験にあたって以下のような環境が必要になります。

  • 受験用のPC
  • インターネット回線
  • PCに接続されたカメラ(最近のノートPCなら付いてると思います)
  • マイクデバイス(最近のノートPCなら付いてると思います)
  • スマートフォン

  • 受験者を証明するもの(免許証やパスポート)

準備(前日まで)

  • ベンダーからのメール内のリンクやWebサイトから飛んで、受験の申し込みをします。
    • プロファイルが登録されていない場合、自分のプロファイルの登録が必要です。(氏名や住所、電話番号などの登録)
    • 試験を実施する(開始)日時をスケジュールします
      • おおよそ 9:00 - 16:00 ぐらいの範囲でどこでも指定できたと思います。夜中などのスケジュール指定はできませんでした。
    • 案内に従って 試験環境(インターネット回線やデバイス)のチェック(システムテスト)を行います。
      • 特定のプロセスが動いているとNGなようで、私の場合はXBox関係のプロセスをTaskManagerで停止させました。
        • この辺は OnVUE の警告メッセージで表示されました

試験準備(当日)

  • 受験するテーブルに、基本的には受験用のPCとマウス 等以外は無いようにしておきます
    • Dockみたいなものは、あっても特に何も言われませんでした
    • 箱ティッシュを置いておいたら、片付けるようにと試験監督に言われました
    • (電源はOFFにしていましたが、)外部モニターは片付けるようにと試験監督に言われました

試験へのチェックイン

  • 案内されている手順に従って、試験開始の30分前 以降に チェックイン操作をします

    • 基本的には最終的に OnVUE をダウンロードして起動する操作になったと思います
  • 試験環境の以下チェックが行われます

    • インターネット回線
    • カメラデバイス
    • マイクデバイス(画面に表示された言葉を言う必要あり)
  • 案内が行われますが、試験開始するにあたって以下のチェック・作業が必要でした

    • 自身の登録したスマートフォンの電話番号へSMSのメッセージを飛ばす
    • SMSで受け取ったメッセージ内に記載されたWebページへアクセスして以下の情報を撮影してアップロード
      • 受験者の顔写真
      • 受験者を証明するもの(免許証やパスポート)の写真
      • 受験する部屋を支持された4方向から撮った写真
  • 試験監督官と会話するチャットウィンドウが開いて、指示が行われますのでそれに従って進めます

    • カメラデバイスを360°回して受験する位置から部屋の様子を見せるように言われます
    • また、カメラデバイスで受験する手元(テーブル)の様子も見せるように言われます
  • Windowsのタスクバーで、OnVUE だけが起動しているというように見えている必要があります

    • たとえば、Webブラウザのアプリが起動している状態になっていてはいけません
    • 試験は、OnVUE のアプリ上で実施されます
  • 諸々手順を進めるとOnVUE に試験が配布されます

  • 試験開始直前に何か確認の操作があった気がします。ど忘れした。。。

    • それが終わると試験が始まります

試験開始後

  • チャット用のウィンドウはクローズしてしまって問題ないと思います
  • 画面に表示される問題をひたすら解き進めていきます
  • 問題に考え込んで、顔を手で長時間おおったりしないように気を付ける必要があります

  • 試験によると思いますが、試験完了まで進むと即座に合否が出て、それで試験終了です。

    • 特に試験監督とやり取りは発生しません
  • 試験後に一応アンケートがありますが、たぶん任意です

失格になるケース

試験失格になるケースがいくつも定義されていますが、例えば以下のようなケースも失格になります

  • 試験中に席を離れる(カメラに映らなくなる)
  • 試験中に部屋に誰か入ってきてしまった
    • 家族等がいる場合は事前にその旨伝えておいたほうがいいです


受験してみての感想

テストセンターの空き状況を気にしなくてよい。テストセンターまで物理的に行かなくてよい。 というメリットは大きいです。
ただし、自宅でのオンライン試験は、違う準備をしなければならなかったり、気にかけないといけない点もあります。
受験のための片づけ等の準備は怠らないように気を付けないと試験のチェックイン後に慌てることになる気がします。

PowerShell で sshすると UNPROTECTED PRIVATE KEY FILE

パブリッククラウド(等のインターネット空間)にLinuxのサーバ立てて、そこへSSH接続できるようにする場合は、
一般的に 公開鍵認証 の方式にすると思います。

で、試しに Windows の PowerShell から 以下コマンドで、実際にプライベートキーで接続可能かを試すこともあると思います。

ssh -i {キーファイルのパス} {リモートユーザ}@{接続先のIPアドレス or ホスト}


上記コマンドを試した場合に以下のような UNPROTECTED PRIVATE KEY FILE! という表示が出て、接続できないことがあります。

PS C:\Users> ssh -i C:\SSH_KEY\my-generated-key.pem testuser@40.115.XXX.XX

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions for 'C:\\SSH_KEY\\my-generated-key.pem' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key "C:\\SSH_KEY\\my-generated-key.pem": bad permissions
testuser@40.115.XXX.XX: Permission denied (publickey).


エラーが出る原因

対象のプライベートキーファイルは接続操作をしているユーザ以外の読み込みと書き込み操作から保護されている必要があり、
プライベートキーのファイルが対象ユーザー以外からもreadやwriteができてしまう場合に表示されるようです。

解決方法

例えば、macOS や Linux ならば chmod 600 {プライベートキーファイル} で、対象ファイルに自分自身だけの r+w のpermission を付与すれば問題ないようです。

ただし、Windowsだとファイルの権限操作でやる方法は結構単純ではなさそうです。
WSLで chmod 600 とかやっても解決になりません。(これはそもそも WSLとWindowsのファイルシステムの絡みの関係っぽいですが)

じゃあ、Windowsで結局どうすればいいのかというと 対象のキーファイルをユーザフォルダの配下に置けば問題ないです。
こうすれば、一応Windows上の別のログインユーザからはアクセスできない。ってことでOKってことなんでしょう。

例えば以下のようなコマンドだと、問題なくSSH接続できます。

ssh -i C:\Users\yuki\Private_Key\my-generated-key.pem testuser@40.115.XXX.XX


まとめ

Windows では プライベートキーファイル のアクセス権操作でも UNPROTECTED PRIVATE KEY FILE! による接続失敗を防ぐことはできるようですが、 ユーザフォルダ以下のどこかにプライベートキーファイルを移してしまうのが手っ取り早いです。


補足

PowerShell からの ssh コマンド接続だと冒頭に書いたエラーになっても、別のターミナルソフトウェアでのssh接続ならそもそもエラーにならない。
というパターンもあります。

Rlogin で Ctrl + v で貼り付け操作するための設定etc

Windows で Terminalソフト(SSH接続するため等諸々の用途で利用)は、色々と選択肢あると思います。

有名どころだと、PuTTY, Tera Term, RLogin など。

RLoginは、最初からタブ機能を備えていて結構扱い易いので便利に使わせてもらってます(日本だと結構な人が使ってるのでは?)。


Rloginを使っていく中で自分なりに設定をカスタマイズすることも多いですが、 久しぶりに最初から設定しなおすと設定方法を忘れていることがあるので、ここにメモしておきます。


フォントの変更

ターミナル上で表示する文字のフォントが、デフォルトでは MSゴシック になっていますが、Consolas に変更します。

オプション設定 > フォント > フォントセット 内の デフォルトのの値を MSゴシック から Consolas に 変更  > 適用 クリック

f:id:nini_y:20210410221221p:plain

(上記画面キャプチャでは、"デフォル" になってますが 実際は ”デフォルト” です)


これで、ターミナル上の文字が結構見やすくなると思います。


マウスの左クリック範囲選択でコピー + 右クリックで張り付け

ターミナル上の文字列を マウスの左クリックで範囲選択操作のみでコピーして、マウスの右クリックで 貼り付けできるようにします。

オプション設定 > クリップボード で 以下を実施して 適用をクリック

  • "左クリックの範囲指定だけでクリックボードにコピーする" にチェックを入れる
  • "右クリックでペースト" のラジオボタンを選択する

f:id:nini_y:20210410220832p:plain


Ctrl + v 操作でペースト

キーボードの Ctrl + v の操作でクリップボードのテキストを貼り付けできるようにします。

オプション設定 > キーボード で 以下を実施して 適用をクリック

  • 「新規」ボタンをクリック
  • Assign Key String のダイアログで以下を入力をして OK ボタンクリック
    • KyeCode: V
    • Ctrl にチェックを入れる
    • Assign String に $EDIT_PASTE を入力

f:id:nini_y:20210410222635p:plain

f:id:nini_y:20210410222253p:plain


これで、キーボードの Ctrl + v のショートカットキー操作でも テキストのペーストができるようになりました。


タブの表示を自分で設定した Entry名に固定

RLogin で 複数接続するなどしてタブが表示されている時に、タブに表示する値を自分が設定した Entry の名前に固定します。

オプション設定 > スクリーン で 以下を実施して 適用をクリック

  • 初期タイトルが %E になっていることを確認する
  • OSC 0/1/2 でウィンドウタイトルの変更を禁止する のチェックを入れる

f:id:nini_y:20210410223837p:plain


こうすると自分が設定したEntry名(サーバ識別用の名称)がタブに常に表示されるので、各タブがどこに接続しているかを視認しやすくなると思います。


まとめ

上記以外にもカスタマイズする部分はあったりしますが、初期設定として本エントリの内容だけでもやっておくと、使い勝手が向上すると思います。(個人的に)

Windows Terminal での Tab補完時のアラート音を消す

Windows Terminal で WSL を利用している時などに、Tabキーを押して コマンドやファイルの候補を出そうとすると、
アラート音が鳴るケースがあります。

毎度この音が鳴るのは邪魔なので、鳴らないようにしたいというケースもあると思います。


これを実現するには ~/.inputrc に 以下の記述をしておくことで可能です。

set bell-style none


ということで、以下のように操作すればできます。(以下の操作でなくても vi 等で記述してもいいわけですが)

Windows Terminal で Ubuntu を開いて、以下コマンドを実行します。

echo "set bell-style none" >> ~/.inputrc

この後、ターミナルを再起動すれば、Tabキーを押して補完候補を表示した際の音が出なくなります。


あー、すっきりした。

Chromeを用いてWindowsのPC間でテキストを送受信する

在宅勤務が世の中増えてきてました。

どのような方式で在宅勤務(主にPCを用いた業務)をやるかは様々だと思いますが、
会社によっては、自宅では個人PC(デバイス)を用いて、そのPCから社内のPC環境にアクセスする方式を取ることもあると思います。
(その方式すらも様々だと思いますが)

方式によっては、自宅のPCのデバイス環境 と 業務用の作業を行う環境が接続はされているんだけれども、
例えばテキストのコピー&ペーストすらもシームレスにその環境間では行えないケースもあるかもしれません。

このようなケースで、Chrome(Windows版)で、それを少しだけ改善可能な場合があります。


前提条件

以下が前提条件となります。

  • Google Chrome を 自宅環境、業務環境(やりとりしたい環境)をインストールしている
  • Google Chrome を起動している
  • Google Chrome に 同じアカウントでログインしている
  • 今回のエントリでは、Windows版 Chrome でしか試していません

  • 以下でいくつか通知について記載していますが、通知が表示されるかどうかはWindowsの設定にも依存すると考えられます。


URLを送信する

そもそも、テキストを送る以前に URL をデバイス間で送受信するのには、
上記の前提条件が整っていれば基本的に問題ありません。

まずは、送信元で送りたいURLにChromeでアクセスします。その後URL入力欄右側のデバイスのマーク(「このページを送信」)をクリックして、 送信先のデバイスを選択します。
(今回の例では、 低レイヤを知りたい人のためのCコンパイラ作成入門 のサイトにアクセスさせていただきました。)

f:id:nini_y:20210402213517p:plain


すると、受信側で以下のような通知が来ます。 f:id:nini_y:20210402213509p:plain

この通知をクリックすると、送られてきたURLのサイトが自動的にChromeのタブに開かれます。


テキストを送信する

先ほどのやり方でURLは送信できましたので、次は任意の文字列を送りたいです。

Chrome の URL入力欄に chrome://flags と入力します。
表示された設定画面の検索テキストボックスに clipboard と入力して、絞り込みを行います。

ここで表示された中で以下2つを Enabled にしてください。(もしかしたら、前者の設定は Enabled でなくてもいいかもしれないです。が、一応有効化してください)

  • Enables the remote copy feature to receive messages
  • Enable shared clipboard feature signals to be handled


f:id:nini_y:20210402214223p:plain


有効化すると Chromeの再起動(Relaunch)を促されるので再起動します。


次に、送信側のPCで送りたい文字列をChrome上で書いて選択します。
例えば、Chromeの検索ボックスに文字列を入力して全選択します。(正確には自分が入力した文字列でなく、Webサイト上の文字列を選択しても良いです。)
そのあと右クリックして、「デバイスにコピー」→ "送信したいPC(デバイス)" を 選択してクリックします。

f:id:nini_y:20210402214841p:plain


すると受信側PCで以下のような通知が来ます。

f:id:nini_y:20210402215006p:plain


通知メッセージの通り、文字列が自動的にクリップボードにコピーされた状態になっています。


試しに、メモ帳上で Ctrl + v で貼り付け操作をやってみると、送られてきたメッセージが表示されました。

f:id:nini_y:20210402215249p:plain


まとめ

Chrome を用いて異なるデバイス間でもテキストの送受信ができるようになりました。
完全にシームレスとは言い切れないかもしれませんが、状況によってはこの方法でも作業を改善できる場合もあるかもしれません。

誰かの役に立つといいなーと思ってます。