Linux SSH 免密登录

前面各节执行ssh命令与scp命令,每次执行命令都需要输入密码,非常麻烦。

这节介绍如何进行免密登录。


基本过程

目标:主机2上登录主机1

原始过程:主机2需要传密码到主机1;

免密登录:主机2上生成公钥文件与私钥文件,传递公钥文件到主机1,以后就能免密登录。


步骤1:主机2上生成密钥对

ssh-keygen

会生成两个文件

/root/.ssh/id_rsa:私钥文件

/root/.ssh/id_rsa.pub:公钥文件


执行前查看目录

img


执行ssh-keygen命令,中间询问直接回车即可,执行完查看目录。

img


查看公钥文件内容

img


步骤2:主机2拷贝公钥到主机1

语法

ssh-copy-id 服务端主机

会在服务端主机/root/.ssh/authorized_keys中添加主机2的公钥文件的内容。

如果authorized_keys文件不存在,会首先创建。


执行前查看主机1的/root/.ssh,暂时无目录。


执行ssh-copy-id

ssh-copy-id 192.168.154.237

img


执行完后,增加文件 /root/.ssh/authorized_keys文件,主机1中的公钥内容复制到了此文件中。

img

如果主机3也拷贝公钥到主机1,会继续在这个文件中添加主机3的公钥文件内容。


步骤3:主机2远程登录主机1

测试,无需再输入密码。

img

成功。