通过证书签名达到Linux主机SSH无密码访问,使用ssh-keygen与ssh-copy-id来实现快速证书的生成及公钥下发,其中ssh-keygen生成一对密钥,使用ssh-copy-id来下发生成的公钥。具体操作如下:

    在主机A(192.168.0.100)创建密钥,执行:

ssh-keygen -t rsa

,有询问直接按回车键即可,将在/root/.ssh/下生成一对密钥,其中id_rsz为私钥,id_rsa.pub为公钥(需要下发到B主机用户.ssh目录,同时要求重名成authorized_keys文件)。(B主机:192.168.0.101)也可以是使用-f参数指定证书生成位置。

ssh-keygen -t rsa -f /root/.ssh/id_rsa  #指证书的生成位置

wKioL1hZAArDjcKwAAEjt-VoUeY525.png

    接下来同步公钥文件id_rsa.pub到目标主机,推荐使用ssh-copy-i公钥拷贝工具(也可以使用scp拷贝),命令格式:/usr/bin/ssh-copy-id [-i [identity_file]] [user@] machine。

#ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.0.101

    检验SSH无密码配置是否成功,运行ssh root@192.168.0.101,如果直接进入root账号提示符,则说明配置成功。