【VirtualBox】WindowsでVirtualBox6をインストールしてsshでコピペできるようになるまで

##ことの顛末##
そもそもこんなこと書く必要ないじゃん！？って思われる方は多いと思います。
ええ、多分自分も何も知らずに見たらそう思うでしょう。

この記事は、自分が他の記事に対してオブジェクト指向で記事を作成するための記事です。
つまり、どんな環境でも本番のように使おうと思うとVirtualBoxの利用は欠かせないと思うのですが、記事を書くたびに同じこと書くのは絶対的に非効率です。
しかしそこを抜かしてしまうと初学者は「何をどうするの」となり、IT学習に対するモチベーションの低下を招くでしょう。
そんなことでモチベ下がるならやるな、というのは簡単ですが人を育てるというのはそうではなく「相手の目線にどれだけ寄り添って教えられるか」だと自分は考えています。

ということで、そのオブジェクトの一つとしてこの記事を残します。


##VirtualBoxのインストール（画面は執筆日現在）##
https://www.virtualbox.org/
![00000200524.JPG](https://qiita-image-store.s3.amazonaws.com/0/193056/39904394-221f-e91f-41eb-1f0f960e1d00.jpeg)
真ん中のどでかいDownloadボタンを押下します。

![00000200526.JPG](https://qiita-image-store.s3.amazonaws.com/0/193056/ae16b307-2bf1-c55f-6f6f-9b164e33485c.jpeg)
今回はwindowsの場合なので、赤で囲った部分を押下します。
するとダウンロードが開始されますので、インストールをしてください。
さすがにインストールの説明は端折りますよ！

![00000200527.JPG](https://qiita-image-store.s3.amazonaws.com/0/193056/8429d828-77d5-d6b0-a48d-4821c400a50a.jpeg)
もちろんインストールしてすぐは左側が空の状態だと思いますが・・・
上部中央にある「新規」ボタンを押下します。
![00000200528.JPG](https://qiita-image-store.s3.amazonaws.com/0/193056/05ce65a8-f1d4-e092-ca8e-663e39d9cb31.jpeg)
Nameには、自分でわかる名前を入れてください。最初にcentosと入れると勝手にOSがcentosになります。

###ちなみに！###
今はもう64bitの時代ですが、osの選択項目に「64bit」がない人がいるかと思います。
それはお使いのPCで64bitが仮想環境において認識できない状態にあるためです。
64bitが選択できた人は次に進んでください。32bitしか選択できない人はBIOSの設定を変更する必要があります。
1.ご自分のPCのBIOSの設定変更画面の出し方を調べる（メーカーにより違います）
2.どこかの項目に「Intel Virtualization Technology」もしくは似たような項目名があり「Disable」になっているので、Enableに変更する
3.BIOSを保存して終了し、通常通りwindowsを起動して再度VirtualBoxを立ち上げ上記新規ボタンを押下してみる
これで64bitが選択できるようになったはずです。

###気を取り直して###
Machine Folderは今から作る仮想環境のデータをどこに保存するか、なので場所にこだわらない場合は変更する必要はありません。自分はパーティションごとに役割を決めているのでDドライブに保存しています。
タイプはLinux、バージョンはRed Hat(64-bit)です。

メモリは最低512MB欲しいです。さくらvpsでも最低のメモリは512MBです。
ハードディスクはそのままにしておいて、作成を押下します。
![00000200529.JPG](https://qiita-image-store.s3.amazonaws.com/0/193056/7cbfd452-c12f-6638-ba15-54ad753183fa.jpeg)

可変か固定かはお任せしますが、作りこみたいなら可変がいいかと思います。
単に動かしたいだけなら固定で20GBもあれば困らないでしょう。
作成を押下するとハードディスクを作成しますので、容量によって待ち時間がかかる可能性があります。

![00000200536.JPG](https://qiita-image-store.s3.amazonaws.com/0/193056/b2ef6678-0f00-4701-3962-09521b6ea9aa.jpeg)

今作成した項目が表示されましたので、忘れないうちにCentOSのisoファイルをダウンロードしておきます。
https://www.centos.org/download/
DVD ISOボタンを押下し、リンクがたくさん出てきますがどれを選んでも同じものがダウンロードされます。
なので一番近そうな・・・関東の方なら上のほうに出ているnara以外だと思います。その辺の記載のあるリンクを押下しましょう。
4GBくらいあると思うので、VirtualBoxに戻り設定を押下します。


![00000200531.JPG](https://qiita-image-store.s3.amazonaws.com/0/193056/6c065c15-2542-afd0-d2b4-33a8ed0956b1.jpeg)
箇条書きしていきます。
・システム→マザーボード　フロッピーのチェックをはずしましょう。
・システム→プロセッサー　CPUに余裕があるなら2以上にしてください。余裕がない場合は1です。
・ディスプレイ→スクリーン　ビデオメモリを128MBにし、VMSVGAをVBOXSVGAにしましょう。（マウスカーソルが表示されないため）
・ストレージ→空を押下し右のCDアイコンを押下→CentOS7のisoファイルを選択します。
・ネットワーク→アダプタ2を有効化し、割り当てをホストオンリーアダプタにしましょう。
OK！

では、起動しましょう！
##CentOS7のインストール##
![00000200532.JPG](https://qiita-image-store.s3.amazonaws.com/0/193056/29576d68-ccab-fd36-66ce-07fdb4103964.jpeg)

この画面を押下すると、カーソルは画面の中に入り込んでしまいこのウインドウ以外の操作ができなくなります。
一旦抜けたい場合はキーボードの右側のCtrlボタンを押下しましょう。
右側のctrlがない場合は、Ctrl+Alt+Delを同時押ししてキャンセルです。昔は強制終了ボタンと言っていましたね(´・ω・\`)
一応設定で画面から抜けるボタンを変えることも出来ますが、ここでは割愛させて頂きます。

ということで、Install CentOS 7を選択します。
![00000200533.JPG](https://qiita-image-store.s3.amazonaws.com/0/193056/14d472a1-af9e-538c-9263-33d1515534f5.jpeg)
我らが日本語です。

![00000200534.JPG](https://qiita-image-store.s3.amazonaws.com/0/193056/af1118eb-9744-6293-2ffd-6fce1a3066fa.jpeg)
最初はこのようにExcramationマークがついていますが、処理が終わればインストール先のみになります。インストール先を押下します。

![00000200537.JPG](https://qiita-image-store.s3.amazonaws.com/0/193056/c0051a03-2334-d006-63e2-1be58fa91e7c.jpeg)
特に何もせず、左上の完了を押下します。

![00000200538.JPG](https://qiita-image-store.s3.amazonaws.com/0/193056/72ff9a12-9af2-315e-b96f-f1c4e165f2a5.jpeg)
右下のインストールの開始を押下しましょう。

![00000200539.JPG](https://qiita-image-store.s3.amazonaws.com/0/193056/2730cf92-735a-adeb-7579-f742c19ec727.jpeg)
インストールが開始されますが、rootユーザーのパスワードを決めますので、ROOTパスワード(R)を押下します。

![00000200540.JPG](https://qiita-image-store.s3.amazonaws.com/0/193056/ef33b938-0f00-ff62-fd98-7667ce6f30c4.jpeg)
テスト環境なので、自分のわかるパスワードをここで登録してください。
簡単なパスワードの場合、ホンマにそれでええん？という意味合いも込めて二回完了を押下することになります。

ユーザーの作成については、CentOSインストール後の黒い画面でも登録が可能なので今はrootだけで大丈夫です。
お茶でも飲んでいればインストールが終わりますので、再起動ボタンを押下してください。

次に起動した場合、項目が二つ出てきますが上の方を選択しましょう。
![00000200541.JPG](https://qiita-image-store.s3.amazonaws.com/0/193056/c536f285-432f-d584-a651-391b8fbb0fac.jpeg)

おめでとうございます！インストールが出来ていますね(^O^)

##使いづらいのでsshで操作していく##
先ほどrootを登録したので、rootでログインします。
パスワード入力について、はLinuxすべてにおいてセキュリティのために画面に表示されません。
入力されてないのではなく見えないだけなので、安心して入力してEnterを押下しましょう。

![00000200542.JPG](https://qiita-image-store.s3.amazonaws.com/0/193056/ccd4742a-d0dc-46c2-ce65-8f2f096d90bc.jpeg)
はい、ログインできました。

さて、VirtualBoxの画面ではコピペが出来ませんので非常に扱いづらいです。効率も悪いです。
なので自分の場合はputtyを使って操作していきたいと思います。
その前にやることやっていきましょう。

```
[root@localhost ~]# nmtui
```
![00000200543.JPG](https://qiita-image-store.s3.amazonaws.com/0/193056/81f7bb12-0ecc-8868-a5c7-6eea05dac4f2.jpeg)

いきなり目が痛い画面になりました。
自分もよくわかってないのですが、ここの設定を変えることにより外部とのやりとりが可能になります。
オンプレサーバで勉強してた時はこの操作を知らなくて、yum updateすらできない状態でぶん投げてました(ノД`)・゜・。

まず、Edit a connectionを選択します。
![00000200544.JPG](https://qiita-image-store.s3.amazonaws.com/0/193056/a64c7b9e-9af5-1d7d-e86f-baac1154dd1b.jpeg)
人によって一つだったり二つだったりするかも知れません。
自分の場合はenp0s0の方を設定しますので選択します。
![00000200545.JPG](https://qiita-image-store.s3.amazonaws.com/0/193056/ebeb41b9-ac18-de9b-c39f-07d1671f33f2.jpeg)
IPv6がAutomaticになっているので、これをIgnoreに変更します。
またAutomatically connectにチェックをつけます。これはスペースキーです。
ではOK→Back→OKを押下しましょう。
![00000200546.JPG](https://qiita-image-store.s3.amazonaws.com/0/193056/dc1c59bb-d71c-62f9-80ba-6551a34f3147.jpeg)
ﾋｪｯ!?
見づらいので

```
[root@localhost ~]# clear
```
![00000200547.JPG](https://qiita-image-store.s3.amazonaws.com/0/193056/1365d056-a456-71dc-ec23-bee0cbd5d8c1.jpeg)
さて、それでは先ほどの設定がうまくいっているか確認してみましょう。

```
[root@localhost ~]# ip a
```

![00000200548.JPG](https://qiita-image-store.s3.amazonaws.com/0/193056/68738c2b-1c68-d1b5-9f83-42efbd5a1865.jpeg)
このように192.168.のIPが出ていれば大丈夫です。
この値を覚えておいてください。

それでは「putty」をダウンロードします。
https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
![00000200549.JPG](https://qiita-image-store.s3.amazonaws.com/0/193056/1ca2c029-0ca0-8e54-d054-c715d7043de4.jpeg)
赤枠をダウンロードして、実行しましょう。

![00000200550.JPG](https://qiita-image-store.s3.amazonaws.com/0/193056/54662e3e-e8c1-054d-3737-f59ad4b9281b.jpeg)
秘密鍵とか公開鍵については本稿では触れません。恐らく皆さん環境構築の記事からこちらを見ていると思いますので、まず構築したいですよね！？(^_-)-☆
画像のように入力し、saveを押下すると設定が記録されます。
それでは設定を入力したらOpenを押下しましょう。

![00000200551.JPG](https://qiita-image-store.s3.amazonaws.com/0/193056/e198c221-7d53-a389-dc89-3677178774b8.jpeg)

謎の英語現る・・・
初心者あるあるですが、英語が出るとその文章を読まずに「これはい押して大丈夫ですか？」と聞いてくるのですが、まず読みましょう(´・ω・\`)
そして次に「英語苦手なんで・・・」と言い訳する人。そうやって英語が出るたびに他の人に聞いてその人の貴重な時間を奪うのですか？読みましょう(´・ω・\`)
調べる気のない人に教えるほどエンジニアの皆さんは暇ではないですよ！

この文章は「初めてアクセスするとこだけど、信頼するの？信頼して今後このメッセージ出さなくていいならはい、毎回メッセージを出して接続するならいいえ、やっぱり繋げないならキャンセルだ！」
みたいなことが書かれています。
さすがに自分の構築している環境へのアクセスなので、はいを押下しましょう。

![00000200552.JPG](https://qiita-image-store.s3.amazonaws.com/0/193056/3e97e729-5922-b7a6-9617-894f77b31c42.jpeg)
入れましたね。これでコピペの準備は整いました！
ちなみにVirtualBoxを消してしまうとつながらなくなるので、VirtualBoxのウインドウは最小化しておきましょう。

##ここまでは初期設定としてやっておこう##

```
[root@localhost ~]# firewall-cmd --permanent --add-service=http
success
[root@localhost ~]# firewall-cmd --permanent --add-service=https
success
[root@localhost ~]# firewall-cmd --reload
success

```

```
vi /etc/selinux/config
```

```
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=diseabled #←ここを変更
# SELINUXTYPE= can take one of three values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected.
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted
```
:wqで保存

```
[root@localhost ~]# yum -y update
```

結構時間かかると思うので待ちましょう。

```
[root@localhost ~]# yum -y install wget
```