- 在kali中申请私钥和公钥,执行命令:ssh-keygen -t rsa
- 上面的那个申请公钥和私钥的过程中,Enter passphrase选项和Enter same passphrase again选项是用来设置密码短语的,就是如果你想要在使用证书之前需要输入密码的话,可以去输入设置一下,如果不设置的话,这个密码短语是默认为空的,也就是不使用密码短语,一般情况下,我们在使用这个证书登录的时候是不去设置这个密码短语的
- 在执行完上面的命令之后,在kali中的/root/.ssh目录下面会多出两个文件,一个是id_rsa,这个是私钥,另一个是id_rsa.pub,这个是公钥(注意:如果你生成的公钥和私钥不在这个目录下面,需要将公钥和私钥移动到这个.ssh目录下面)
- 进入到CentOS7的系统中,查看/etc/ssh/sshd_config文件中的AuthorizedKeysFile 参数,这个参数的值是你上传的公钥的存储路径
- 上面的配置文件中的这个路径是一个相对路径,这个.ssh目录是在/root目录下面的,如果没有需要手动创建,如果有这个.ssh目录的话,就不用创建了
- 因为我们要在kali中通过ssh证书去连接CentOS7,所以需要将公钥上传到CentOS7中的/root/.ssh目录中去,可以通过scp传过去,在kali中执行命令:scp id_rsa.pub 192.168.28.148:/root/.ssh/authorized_keys
- 上面的命令中id_rsa.pub是你要上传的公钥文件,192.168.28.148是CentOS7中的ip地址,冒号后面的是你在CentOS7中存放公钥的目录以及公钥上传后的文件名称,这个文件名称一定要和第4步查看到的那个文件名称一致
- 文件上传之后,可以到CentOS7中查看一下是否上传成功
- 确认公钥上传成功后,需要去配置一下CentOS7中的ssh服务的配置文件,进入/etc/ssh目录下面,使用vim打开sshd_config这个配置文件
- 在配置文件中设置以下参数(注意:如果下面的选项的前面有#号的话,说明这个选项被注释了,需要将#号删除,然后再去设置值)
- 将PermitRootLogin的值设置为yes,表示可以使用root用户登录
- 将PubkeyAuthentication的值设置为yes,表示开启公钥认证
- 将PasswordAuthentication的值设置为no,表示禁止使用密码登录
- 将PermitRootLogin的值设置为yes,表示可以使用root用户登录
- 设置完成后,需要重启一下服务,执行命令:systemctl restart sshd
- 在上面的操作都完成后,就可以在kali中去尝试使用私钥连接了,私钥连接执行命令:ssh -i /root/.ssh/id_rsa root@ip地址,或者是可以直接执行ssh root@ip地址,两个命令都可以
- 如果想要通过这种证书的方式使用scp,可以执行命令:scp -i /root/.ssh/id_rsa 要传输的文件 root@ip地址:存储上传的文件的地址
在kali中使用ssh证书通过ssh登录到CentOS7中
于 2022-04-08 22:50:32 首次发布