名称 MIRSサーバ通信のための準備とテスト
番号 MIRSMG3S-SOFT-0024
版数 最終更新日 作成 承認 改訂記事 備考
A01 2016.5.16 牛丸 初版



目次



1.はじめに

本ドキュメントは、MIRSAK競技会において、競技会用サーバとの通信準備と通信テスト方法を記したものである。


2.通信準備(公開鍵の登録)

MIRSAK競技では、怪盗情報(番号)を記したファイルをサーバに送信したり、サーバから何らかの情婦が書き込まれたファイルを受信したりする。 プログラム内から system 関数で ssh によるファイルのコピー (scp) を行うために、パスワード認証が不要となるように事前に MIRS 側の公開鍵をサーバに登録しておく必要がある。以下その方法を示す。
MIRS上で以下のコマンドをタイプし、SSH通信用の秘密鍵・公開鍵のペアを作成する。

      ssh-keygen -t rsa 
    (全ての質問に対して、Enterキーのみを入力する。)

次に以下のコマンドをタイプし、公開鍵を競技会サーバに転送する。

          cd                      //ホームディレクトリに移動
          scp .ssh/id_rsa.pub mirs@172.21.24.51:.ssh/mirs1x0y.key

       (mirs1x0y はチーム名に応じて変更すること)

この作業を行ったことを競技会サーバ管理者に報告する。(サーバ管理者はサーバ側の authorized_key2 にこの鍵情報を登録する。)

(サーバとの通信プログラムを root 権限で実行させる場合は、MIRS の root ユーザで上記の鍵を生成し、サーバに登録する必要がある。)



3.ファイル転送テスト

サーバ管理者から公開鍵の登録作業を終えたことを確認したら、パスワード要求なしでサーバとのファイルが送受信ができるかを確認する。

3.1 ファイル受信テスト

以下のようにして、送信用のファイル number.data を用意し、競技会サーバにこのファイルを送信できることを確認する。
	echo "2" > number.data
	scp number.data mirs@172.21.24.51:mirsak/number.data
	

3.2 ファイル受信テスト

以下のようにして、競技会サーバからファイルを受信できることを確認する。
	scp mirs@172.21.24.51:mirsak/number.data ./
	

3.3 テストモジュールを用いた送受信テスト

標準プログラム(Ver2.3.0以降)には、サーバとの送受信モジュール comm.c があり、その動作チェックを行う test_comm() 関数が用意されている。 他のテストプログラム同様 test.c でこの関数を有効にすることでサーバとのファイルの送受信テストを行うことができる。