MIRS15SF ドキュメント管理台帳へ戻る

名称 MIRS2015サーバ通信方法
番号 MIRS15SF-RULE-0004

最終更新日:2015.12.21

版数 最終更新日 作成 承認 改訂記事 備考
A01 2015.12.17 牛丸 初版
A02 2015.12.21 牛丸 テストプログラムの記述を追加した



目次



1.はじめに

本ドキュメントは、MIRS2015競技会において、怪盗情報(数字)を競技会サーバに送信する手法を記したものである。


2.送信方法

怪盗情報(番号)をファイルに記録し、それを ssh で競技会サーバにコピーする(このことを行う関数については以下に示す)。その際にパスワード認証が不要となるように MIRS 側の公開鍵を事前にサーバ側に登録しておく。


3.公開鍵の登録と送信テスト

3.1 公開鍵の登録

MIRS上で以下のコマンドをタイプし、SSH通信用の秘密鍵・公開鍵のペアを作成する。

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

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

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

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

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

3.2 ファイル転送テスト

サーバ管理者から公開鍵の登録作業を終えたことを確認したら、以下のようにして、送信ファイル info_number.data を用意し、競技会サーバにパスワード要求なしでファイルが転送できることを確認する。
	echo "2" > info_number.data
	scp info_number.data mirs@172.21.24.51:info/info_number.data
	


4. 怪盗情報転送モジュール

怪盗情報転送のためのモジュールを server_info.c として用意した。

4.1 モジュール仕様

このモジュールには以下の関数が定義されている。
関数名概要引数戻り値
int server_info_number(int number)引数で与えた数値をファイルに記録し、そのファイルをサーバにコピーする。 怪盗情報(数字)1:成功、 -1:失敗

4.2 モジュールの使用方法

  1. server_info.cserver_info.h を他のファイルと同じディレクトリにコピーまたは保存する。
  2. Makefile のソースおよぼオブジェクト群の記述に server_info.c, server_info.o を加えて make する。
  3. server_info_number()関数を呼び出すファイル内で server_info.h を include する。

4.3 テストプログラム

server_info のテストプログラム test_server_info.c を用意した。 このプログラムを server_info.c と同じディレクトリーに置いて、次のようにして実行ファイルを作成、実行する。
	cc -o test_server_info test_server_info.c server_info.c
	./test_server_info
	
適当な数字を入力し、端末上にファイルが転送されたメッセージが表示されることを確認できればよい。


MIRS15SF ドキュメント管理台帳へ戻る