KAL1 LINUX 官方文档之云---DigitalOcean

DigitalOcean是与AWS,Microsoft Azure,Google Cloud Platform等类似的云服务提供商。它们提供了不同Linux发行版(例如Debian,Ubuntu,FreeBSD等)的实例(称为“ droplets”)。与AWS相似,DigitalOcean在世界范围内都拥有数据中心,有时在每个国家/地区拥有多个数据中心。

但是,一项特殊功能使它们与竞争对手区分开来。不久前,他们增加了对自定义映像的支持,该功能允许用户导入虚拟机磁盘并将其用作droplets。这对我们来说是完美的,因为我们可以在他们的云中使用我们自己的Kali Linux版本。(译者注:我也使用过很多云,但大多都是官方提供模板文件,你只能从中选择一个安装,不能上传自己的系统镜像文件)

虽然可以加载官方的Kali Linux虚拟映像,但效率不是很高。取而代之的是,我们将构建一个轻量级的Kali安装程序,并使其最少。

获取netboot ISO

默认情况下,下载页面上的Kali Linux ISO都安装了一个桌面环境,虽然我们可以用它来构建一个虚拟机,但我们希望尽量减少上传到DigitalOcean的数据量,原因我们后面会讲到。在无头系统(译者注:无头系统指的是没有显示器的但有桌面的系统)上运行GUI也是一种资源浪费,所以虽然我们可以卸载它或禁用它,但我们将使用netboot ISO安装虚拟机。如果你能适应文本化安装,就获取这个目录下的mini.iso。如果不喜欢,就到gtk/目录下获取其中的mini.iso,这样就会启动一个图形化的安装程序。

创建虚拟机

有了我们的mini.iso,我们现在可以开始建立我们的虚拟机了。创建一个新的虚拟机,将操作系统设置为最新的Debian 64位,并分配一个20GB的硬盘。如果需要,详细的设置在Kali培训网站上有说明。重要的是将虚拟磁盘设置为一个动态分配的单文件(译者注:在vmware中虚拟磁盘有两个重要概念动态分配和单文件,动态分配磁盘是指你定义了20G磁盘并不是立即得到这20G而是用多少分配多少,直到20G。单文件就是镜像文件仅以单个文件存储好处是效率高坏处是本地文件系统有可能不支持单文件超过4GB)。其余的像CPU和RAM的数量不会重要,只有磁盘文件将被上传到DigitalOcean.Disk大小最重要,因为计费是基于自定义镜像的磁盘大小。它也将影响我们可以创建的实例的选择。比方说,你要创建一个40GB的硬盘,我们不能创建一个5美元/月级别的实例因为它的最大硬盘大小是25GB。在这种情况下,我们将被迫使用10美元/月的选项来创建50GB硬盘的实例(译者注:意思是没有40G的磁盘计费档,只有20G和50G档)。不要担心,即使磁盘是20 GB,它也会根据所选择的droplets档而得到扩展。

在安装过程中,选择手动分区并按如下所示进行设置,所有文件都在一个分区中,没有交换分区。

digitalocean-1

在安装过程中,它将提示您选择软件。为了简单起见并限制磁盘空间的使用,我们仅安装了基本系统,因此,我们将仅选择“标准系统实用程序”,如下所示。

digitalocean-2

更新系统

安装完成后,重启后,我们在控制台登录并更新系统:

apt update
apt full-upgrade -y

如果在'apt update'期间没有看到它在镜像上执行,可能是你在安装过程中不小心忘了添加网络镜像源。按照Kali Docs网站上的说明来解决,然后再运行这两个命令。

安装必需的软件包

为了让DigitalOcean为我们配置系统,我们需要安装cloud-init软件包:

apt install -y cloud-init
echo 'datasource_list: [ ConfigDrive, DigitalOcean, NoCloud, None ]' > /etc/cloud/cloud.cfg.d/99_digitalocean.cfg
systemctl enable cloud-init

准备SSH

由于我们将需要使用SSH连接到DigitalOcean上的系统,因此还需要安装(并启用)openssh-server软件包:

apt install -y openssh-server
systemctl enable ssh.service

创建标准液滴时,您可以选择使用SSH密钥或不使用。然而,当使用自定义镜像时,这不是一个选项,使用SSH密钥是强制性的。出于这个原因,DigitalOcean要求我们删除根密码。

passwd -d root

我们还需要创建一个/root/.ssh文件夹:

mkdir /root/.ssh

清理

在完成虚拟机之前,我们运行一些命令来清理内容:

apt autoremove
apt autoclean
rm -rf /var/log/*
history -c

至此,我们的虚拟机已准备就绪,因此我们可以运行“ poweroff”来关闭系统。

poweroff

上传

在虚拟机文件夹中,找到.vmdk文件(译者注:vmdk就是我们所谓的虚拟磁盘文件),然后使用bzip2,gzip或zip对其进行压缩,以准备上载到DigitalOcean。

bzip2 kali.vmdk

登录到您的DigitalOcean帐户。在左侧的“管理”部分中,单击“镜像”,然后选择“自定义镜像”选项卡。

digitalocean-2

从那里,我们上传压缩磁盘映像。我们将其命名为Kali,将其标记为Debian,然后选择要上传到的区域和数据中心。请注意,一旦将droplets上传到某个区,就只能在该位置启动,这是自定义镜像的当前限制。在此阶段要记住的另一件事是,上载的镜像会占用磁盘空间,DigitalOcean将根据磁盘使用情况进行计费。

digitalocean-3

开启droplets

完成后,“已上传”列将指示它已上传多久。现在,我们将单击镜像的“更多”选项,然后选择“启动droplets”。

digitalocean-4

您将进入Droplet设置,在其中可以选择Droplet计划,SSH密钥以及启动它的项目。由于这是一个自定义映像,因此需要使用SSH Key。您可以选择一个现有密钥,也可以通过单击“新建SSH密钥”上载新密钥,这将打开以下屏幕,您可以在其中粘贴公钥并为其命名:

digitalocean-5

完成后,单击“创建”,如下所示。然后,您将回到仪表盘(“管理”>“Droplet”),其中列出了所有Droplet。因为我们使用的是SSH密钥,所以DigitalOcean将不会发送带有Droplet凭据的电子邮件。

digitalocean-6

在几秒钟内,在显示IP之后,我们的Droplet将准备就绪。为了进行连接,我们将需要使用我们创建的专用SSH密钥(在本示例中称为MY_KEY):

user@computer:~$ ssh -i MY_KEY root@192.168.1.1
The authenticity of host '192.168.1.1 (192.168.1.1)' can't be established.
ECDSA key fingerprint is SHA256:d83fcd43d25e2a7edd291666160b47360cc85870ded.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'IP' (ECDSA) to the list of known hosts.
Linux kali-s-1vcpu-1gb-nyc3-01 4.19.0-kali5-amd64 #1 SMP Debian 4.19.37-2kali1 (2019-05-15) x86_64
The programs included with the Kali GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Kali GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.

现在,我们有一个很好的最小化的Kali Linux,可以根据需要进行部署和自定义。

root@kali-s-1vcpu-1gb-nyc3-01:~# lsb_release -a
No LSB modules are available.
Distributor ID: Kali
Description: Kali GNU/Linux Rolling
Release: 2019.2
Codename: n/a

root@kali-s-1vcpu-1gb-nyc3-01:~# uname -a
Linux kali-s-1vcpu-1gb-nyc3-01 4.19.0-kali5-amd64 #1 SMP Debian 4.19.37-2kali1 (2019-05-15) x86_64 GNU/Linux

root@kali-s-1vcpu-1gb-lon1-01:~# free -h
total used free shared buff/cache available
Mem: 987Mi 51Mi 527Mi 1.0Mi 407Mi 790Mi
Swap: 0B 0B 0B
原文地址:https://www.cnblogs.com/GKLBB/p/13584376.html