11. IaaSクラウドを支えるインフラ技術
パーティションの有るディスクイメージファイルの利用 (1)
パーティションを持つディスクイメージファイルを取り扱います。
– 100MBのディスクイメージファイルvolume02.imgを作成して、ループバックデバイスに紐付けた
後、ループバックデバイスを指定して、ディスクパーティションを作成します。
[root@vm01 ~]# dd if=/dev/zero of=/opt/volume02.img bs=1M count=100
100+0 records in
100+0 records out
104857600 bytes (105 MB) copied, 0.178868 seconds, 586 MB/s
[root@vm01 ~]# losetup -f /opt/volume02.img
[root@vm01 ~]# losetup -a
/dev/loop0: [0801]:507994 (/opt/volume02.img)
[root@vm01 ~]# fdisk /dev/loop0
(中略)
コマンド (m でヘルプ): n
コマンドアクション
e 拡張
p 基本領域 (1-4)
p
領域番号 (1-4): 1
最初 シリンダ (1-12, default 1): 1
終点 シリンダ または +サイズ または +サイズM または +サイズK (1-12, default 12): 6
コマンド (m でヘルプ): n
コマンドアクション
e 拡張
p 基本領域 (1-4)
p
領域番号 (1-4): 2
最初 シリンダ (7-12, default 7): 7
終点 シリンダ または +サイズ または +サイズM または +サイズK (7-12, default 12): 12
11 Open Cloud Campus
12. IaaSクラウドを支えるインフラ技術
パーティションの有るディスクイメージファイルの利用 (2)
コマンド (m でヘルプ): p
Disk /dev/loop0: 104 MB, 104857600 bytes
255 heads, 63 sectors/track, 12 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes
デバイス Boot Start End Blocks Id System
/dev/loop0p1 1 6 48163+ 83 Linux
/dev/loop0p2 7 12 48195 83 Linux
コマンド (m でヘルプ): wq
領域テーブルは交換されました!
(以下省略)
– 作成したパーティションをさらにマッピングして、ext3でフォーマットします。
[root@vm01 ~]# kpartx -a /dev/loop0
[root@vm01 ~]# kpartx -l /dev/loop0
loop0p1 : 0 96327 /dev/loop0 63
loop0p2 : 0 96390 /dev/loop0 96390
[root@vm01 ~]# mke2fs -j /dev/mapper/loop0p1
mke2fs 1.39 (29-May-2006)
(中略)
This filesystem will be automatically checked every 26 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
[root@vm01 ~]# mke2fs -j /dev/mapper/loop0p2
mke2fs 1.39 (29-May-2006)
(中略)
This filesystem will be automatically checked every 29 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
12 Open Cloud Campus
15. IaaSクラウドを支えるインフラ技術
SSHクライアントの構成
※ このセクションの作業はvm01で行います。
vm01をSSHクライアントとして構成します。
– 接続元となるユーザuser01を作成して、user01の鍵ペアを作成します。
[root@vm01 ~]# adduser user01
[root@vm01 ~]# su – user01
-
[user01@vm01 ~]$ ssh-keygen -N "" -f ~/.ssh/user01key
Generating public/private rsa key pair.
Created directory '/home/user01/.ssh'.
Your identification has been saved in /home/user01/.ssh/user01key.
Your public key has been saved in /home/user01/.ssh/user01key.pub.
The key fingerprint is:
6f:1f:39:b1:35:e5:9e:9a:f6:36:b9:12:a2:4c:b9:a9 user01@vm01
– 作成した鍵ペアの公開鍵の内容を表示します。
[user01@vm01 ~]$ cat .ssh/user01key.pub
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA7wDmgrAf4culT20haVdFXK80rYJJ4WINewK4AEh5Cpc25csYEDgwVEkNCVoQBc
7Jl3r0Zom7ppGFv0lnCjoNQzd8tFdUCHUroIEkBOgHbmErj6uCC/BCYf2VmVzkvE5PdtN442ySTi/dfjoaluzflITTK2zrmCnA
eXHndehMrrczewFucADBGJl8SwAqh8m8bxiFmL3CfaaF/yZ0NpaD0U7M4t/cS907DjdNSCcd6mxXk2pNS4/Wz6ebRSIJLb3vMb
BmNEShpZaTbIrs8PpNUi3l8tlgzjMJTTpBPwoCkhzdR7PBm+xkgMzLFUiY7LuNXm9Fs+dvTkTRTLoOHmToyQ== user01@vm01
• 画面上は改行されていますが、公開鍵の内容は、実際には1行のテキスト文です。この内容を端末画面から、テ
キストエディタなどにコピーしておきます。
15 Open Cloud Campus
16. IaaSクラウドを支えるインフラ技術
SSHサーバの構成
※ このセクションの作業はvm02、vm03で行います。
2台の仮想マシンvm02、vm03をSSH接続先のサーバとして構成します。
– vm03のシェルを起動して、ホスト鍵を再作成します。
[root@vm03 ~]# rm -f /etc/ssh/ssh_host_*
[root@vm03 ~]# service sshd restart
sshd を停止中: [ OK ]
SSH1 RSA ホストキーを生成中: [ OK ]
SSH2 RSA ホストキーを生成中: [ OK ]
SSH2 DSAホストキーを生成中: [ OK ]
sshd を起動中: [ OK ]
• 同じマシンイメージから起動した仮想マシンは、ホスト鍵が同一になります。ここでは、vm02とvm03が異な
るホスト鍵を持つようにするため、ホスト鍵の再作成を行います。
– vm02、vm03のそれぞれで、/root/.ssh/authorized_keysの末尾に先に確認した公開鍵(1行のテ
キスト)を追加します。
クラウドクライアントからElastic IPを取得して、vm02に割り当てます。
• ここでは、割り当てられたElastic IPを157.1.147.138とします。この後の手順では、実際に割り当てられたIP
に置き換えて下さい。
16 Open Cloud Campus
17. IaaSクラウドを支えるインフラ技術
SSH接続の確認 (1)
※ このセクションの作業はvm01で行います。
公開鍵認証によるSSH接続を行います。
– vm01のuser01からvm02のrootに、Elastic IPを指定して、SSH接続できることを確認します。
[user01@vm01 ~]$ ssh -i ~/.ssh/user01key root@157.1.147.138
The authenticity of host '157.1.147.138 (157.1.147.138)' can't be established.
RSA key fingerprint is 25:08:07:96:2e:85:e3:25:81:9d:f3:13:35:3d:59:fe.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '157.1.147.138' (RSA) to the list of known hosts.
Last login: Mon Oct 31 17:30:20 2011 from 136.187.36.110
[root@vm02 ~]# exit
logout
• 157.1.147.138の部分は、実際に割り当てられたElastic IPに変更します。
– 質問:接続時にyesで返答している質問は何を確認しているのでしょうか?
– 質問:秘密鍵オプション(-i ~/.ssh/user01key)を指定しない場合はどのようになるでしょうか?
– 同様に、vm01のuser01からvm03のrootに、vm03のPublic IPを指定して、SSH接続できることを
確認します。
17 Open Cloud Campus
18. IaaSクラウドを支えるインフラ技術
SSH接続の確認 (2)
同じIPアドレスが別の仮想マシンに割り当てられた際の挙動を確認します。
– クラウドクライアントから、vm02に割り当てたElastic IPを取り外して、このElastic IPをvm03に
割り当てます。
– vm01のuser01からvm03のrootに、Elastic IPを指定して、SSH接続を行います。
[user01@vm01 ~]$ ssh -i ~/.ssh/user01key root@157.1.147.138
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the RSA host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
69:6c:ab:bf:21:e7:6a:7d:8f:29:28:3d:a6:cc:14:65.
Please contact your system administrator.
Add correct host key in /home/user01/.ssh/known_hosts to get rid of this message.
Offending key in /home/user01/.ssh/known_hosts:1
RSA host key for 157.1.147.138 has changed and you have requested strict checking.
Host key verification failed.
• 157.1.147.138の部分は、実際に割り当てられたElastic IPに変更します。
– 質問:上の実行結果のようにSSH接続に失敗します。これはなぜでしょうか?また、どのようにす
れば、この問題を回避して、SSH接続ができるようになるでしょうか?
18 Open Cloud Campus