Kali linux(2020.2) にSSHで接続できるようにする。

Kali linuxを仮想環境に配置して、遠隔で操作したいためSSHで接続できるようにします。
独学で実施しているため、正規の手順かどうかはわかりません。
尚、今回のコマンドはバージョン確認以外基本的に管理者権限が必要なものばかりなので sudo su - でrootに昇格しておくか、sudoを付けて実行します。

Kali linuxのバージョン確認

ひとまずKali Linuxのバージョン情報を /etc/os-release から採集する。

administrator@kali:~$ cat /etc/os-release
PRETTY_NAME="Kali GNU/Linux Rolling"
NAME="Kali GNU/Linux"
ID=kali
VERSION="2020.2"
VERSION_ID="2020.2"
VERSION_CODENAME="kali-rolling"
ID_LIKE=debian
ANSI_COLOR="1;31"
HOME_URL="https://www.kali.org/"
SUPPORT_URL="https://forums.kali.org/"
BUG_REPORT_URL="https://bugs.kali.org/"

固定IPアドレスの割り当て

次にNICに固定IPを設定していく。Debian系はあまり触ったことがない、固定IPを割り当てたことがないので手探りではあったが、NetworkManagerが利用できそうだったのでNetworkManagerのCLI機能であるnmcliを利用して設定する。

まずは、インターフェース自体を設定するところから。
以下の例ではインターフェースデバイスの状態を確認して、eth0というNICバイスをeth0というネットワーク接続として設定しています。

nmcli device
nmcli connection add type ethernet ifname eth0 con-name eth0

次にインターフェースに固定IPを設定していきます。
以下の例ではインターフェースに 192.168.0.21 のIPアドレスプレフィックスは24(=サブネットマスク255.255.255.0)、デフォルトゲートウェイ 192.168.0.1、DNSは 8.8.8.8 を設定しています。

nmcli connection modify eth0 ipv4.method manual ipv4.addresses 192.168.0.31/24
nmcli connection modify eth0 ipv4.gateway 192.168.0.1
nmcli connection modify eth0 ipv4.dns 8.8.8.8

上記設定が終わった後、以下のコマンドを入力してインターフェースを再起動します。

nmcli connection down eth0; nmcli connection up eth0;

SSHのサービスを起動する。

Kali linux 2020.2ではデフォルトでSSHサーバが起動していないようなので起動していきます。
CentOS系はサービス名が sshd ですが、Kali Linuxでは ssh のようです。

systemctl start ssh

また、以下のコマンドで自動起動も設定しておきます。

systemctl enable ssh

ファイアウォール設定を行う。

Debian系でFWを設定している事例を調べたところ、ufwというツールで設定を実施されている方が多いようなので、ufwを導入します。

apt-get install ufw

ufwの導入が完了したら、デフォルト設定で外部サーバからの通信はDeny(拒否)、自身からの通信はAllow(許可)する設定を行います。

ufw default deny incoming
ufw default allow outgoing

デフォルト設定が完了したら、SSHの許可設定を実施します。

ufw allow ssh

最後に以下のコマンドで設定値を確認しておきます。

ufw status verbose

上記でSSHができるようになるはずですが、最初に記載した通りほとんどの操作は管理者権限が必要なのでsudo su -でroot昇格した後に実行するか、sudoを付けて実行してください。