咨询:无需登录Kali系统,通过修改磁盘文件启用SSH服务的方法
当然可以!这种不用登录系统直接改磁盘文件启用SSH的需求我碰到过好几次,刚好适配你的场景,下面是具体操作步骤:
挂载Kali的系统分区
先把Kali所在的根磁盘分区(通常是/dev/sda1,具体根据你的磁盘布局调整)挂载到本地机器的某个目录,比如/mnt/kali,这样你就能直接读写系统文件了。配置SSH服务开机自启
Kali采用systemd管理系统服务,我们需要让ssh服务在开机时自动启动。进入挂载后的目录,在etc/systemd/system/multi-user.target.wants/下创建一个指向ssh服务文件的符号链接:ln -s /mnt/kali/lib/systemd/system/ssh.service /mnt/kali/etc/systemd/system/multi-user.target.wants/ssh.service如果这个链接已经存在,说明服务本身是启用状态,只是可能之前没启动,这一步可以跳过。
修改SSH配置允许root登录(核心步骤)
Kali默认禁止root用户通过SSH登录,所以必须调整/mnt/kali/etc/ssh/sshd_config文件:
找到PermitRootLogin这一行,将其修改为:PermitRootLogin yes要是你更倾向于密钥登录(安全性更高),可以改成
PermitRootLogin prohibit-password,后续通过SSH密钥认证即可。另外如果需要密码登录,确保PasswordAuthentication yes这一行没有被注释掉。(可选)设置/重置root密码
如果你不知道root密码或者需要重置,可以用openssl生成SHA-512加密的密码哈希:openssl passwd -6输入目标密码后复制生成的哈希串,然后打开
/mnt/kali/etc/shadow文件,找到以root:开头的行,把第一个冒号和第二个冒号之间的内容替换成这个哈希。比如原行是root:*:18900:0:99999:7:::,替换后变为root:$6$xxxxxx...:18900:0:99999:7:::。收尾:卸载分区并重启Kali
所有修改完成后,卸载挂载的分区:umount /mnt/kali启动Kali系统后,SSH服务就会自动运行,你可以用root账号远程连接了。
备注:内容来源于stack exchange,提问作者Burnside

