はじめに
こんにちは!高校生でプログラミング勉強中のCureSabaです。
今回はconohaにkaliをインストールしてみましたので参考になれば幸いです
手順
作業ディレクトリ作成
とりあえず作業ディレクトリを作る
mkdir conoha-kali
cd conoha-kali
適当にサーバーを作る
とりあえず適当にOSを選択してサーバーを立ててください
結局フォーマットするので軽そうなOS推奨?
VPS設定内のUUIDをコピーして置換
echo UUID > serverid.txt
APIユーザー作成
Conohaのダッシュボード左側のAPIを選択して→ユーザー追加からパスワードを入力しユーザーを作成してください
トークンの取得
上で取得した情報でIDとパスワードを置き換え
curl -i -X POST \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{
"auth": {
"identity": {
"methods": ["password"],
"password": {
"user": {
"id": "ユーザーID",
"password": "パスワード"
}
}
},
"scope": {
"project": {
"id": "テナントID"
}
}
}
}' \
https://identity.c3j1.conoha.io/v3/auth/tokens | grep "x-subject-token:" | awk '{print $2}' | tr -d '\r' > token.txt
サーバーの設定
シャットダウン
これをしないと設定変更できない
別にパネルから切っても良い
curl -X POST -H "Accept: application/json" -H "Content-Type: application/json" -H "X-Auth-Token: $(cat token.txt)" -d '{"os-stop": {"force_shutdown": true}}' https://compute.c3j1.conoha.io/v2.1/servers/$(cat serverid.txt)/action
ネットワークとストレージのVirtioを切る
これもパネルからで可
curl -X POST -H "Accept: application/json" -H "Content-Type: application/json" -H "X-Auth-Token: ト$(cat token.txt)" -d '{"hwVifModel":"e1000", "hwDiskBus":"ide"}' https://compute.c3j1.conoha.io/v2.1/servers/$(cat serverid.txt)/action
isoイメージのアップロード
本来はconohaのイメージアップロードツールがあり、それを用いようと思ったのですがusernameが一致しないと言われ続け直接APIを叩くことにしました
イメージ作成
イメージ名を好きなイメージ名に置き換えてください
curl -X POST \
-H "Accept: application/json" \
-H "X-Auth-Token: $(cat token.txt)" \
-H "Content-Type: application/json" \
-d '{
"name": "イメージ名",
"disk_format": "iso",
"hw_rescue_bus": "ide",
"hw_rescue_device": "cdrom",
"container_format": "bare"
}' \
https://image-service.c3j1.conoha.io/v2/images | tee >(jq -r .id > imageid.txt)
isoイメージのダウンロード
kali公式サイトからイメージをダウンロードしておく
イメージのアップロード
進捗等出ないので終わるまで暫し待つ
curl -# -X PUT \
-H "Accept: application/json" \
-H "Content-Type: application/octet-stream" \
-H "X-Auth-Token: $(cat token.txt)" \
-T "isoイメージのpath" \
https://image-service.c3j1.conoha.io/v2/images/$(cat imageid.txt)/file
イメージのアタッチ
curl -X POST -H "Accept: application/json" -H "Content-Type: application/json" -H "X-Auth-Token: $(cat token.txt)" -d '{"rescue": {"rescue_image_ref": "'"$(cat imageid.txt)"'"}}' https://compute.c3j1.conoha.io/v2.1/servers/$(cat serverid.txt)/action | tee >(jq -r .adminPass > adminpass.txt)
kaliのインストール
VNCで接続する
下のコマンドでVNCのURLを取得
別にパネルからでも良し
curl -X POST -H "Accept: application/json" -H "X-Auth-Token: $(cat token.txt)" -d '{"remote_console": {"protocol": "vnc","type": "novnc"}}' https://compute.c3j1.conoha.io/v2.1/servers/$(cat serverid.txt)/remote-consoles | jq -r '.remote_console.url'
起動
起動するとno audio device的な警告が出るので無視してenter
もし、GUIが表示されなかった場合はCtrl +Alt+Delete
を送信する
最初の選択
GUIが表示されたらAdvanced Install
を選択して、Advanced Graphical Install
を選択しネットワーク設定が出るまで進める
インターネット設定
インターネットは手動設定を選択して、サーバーパネルに書いてあるIP、サブネットマスク、DNSを使用する
ベースシステムのインストールが完了するまで進める
cdromをアンマウントする
インストーラーメニュー内のシェルの実行から
aptがパッケージをcdromから取得しようとして失敗するのでcdromをアンマウントする
umount /cdrom
これであとはいつも通り進めて再起動します
isoのデタッチ
再起動したらデタッチします
curl -X POST -H "Accept: application/json" -H "Content-Type: application/json" -H "X-Auth-Token: $(cat token.txt)" -d '{"unrescue": null}' https://compute.c3j1.conoha.io/v2.1/servers/$(cat serverid.txt)/action
これでインストールは完了です!
私はデタッチした後うまく起動できなかったらしくサーバーステータスがエラーになりました、こちら側の問題ではないのでその時はサポートに連絡して起動してもらいましょう
終わりに
もし、この記事が役に立ったと思ったら、ぜひコメントやシェアをお願いします。また、質問や改善点などがあれば気軽にコメントしてください!
それでは、良いプログラミングライフを!