当前位置: 首页 > Linux

SSH配置——Linux下免密码登录

时间:2023-04-06 02:44:20 Linux

首先,假设我们有两台服务器,服务器名称分别为master和slave1。我们现在要做的是在服务器master上登录服务器slave1。无需输入密码即可成功登录,如下所示。让我们开始我们的配置步骤1。可以使用ssh-keygen命令生成在服务器master上生成的密钥。我们可以先使用man命令或者help命令查看需要哪些参数和具体信息。执行命令ssh-keygen-trsa生成我们需要的密钥。执行上述命令时,我们直接回车三下,然后会在用户根目录下生成一个.ssh文件夹。我们进入文件夹并检查那里有什么。我们看到有四个文件,下面解释一下每个文件的作用。authorized_keys:存放远程免密码登录的公钥,主要通过这个文件来记录多台机器的公钥。id_rsa:生成的私钥文件id_rsa.pub:生成的公钥文件known_hosts:已知主机公钥列表2.远程密钥登录这里介绍三种最常用的方法,一种是通过ssh-copy-id命令,二是通过scp命令,三是手动复制。方法一,通过ssh-copy-id命令设置。最后一个参数是我们要免密登录的服务器ip地址。ssh-copy-id-i~/.ssh/id_rsa.pub192.168.1.100方法二,使用scp命令直接远程拷贝文件,使用此方法注意,如果你在key之前在其他服务器上配置过密码,这个方法会覆盖你原来的key,这个时候不推荐这个方法,如果你先把文件拷贝到服务器上的某个目录下,然后用append的方式,appendkeys到authorized_keys也是完全可以的。如果你只有两台服务器,也可以直接复制到文件中。scp-p~/.ssh/id_rsa.pubroot@:/root/.ssh/authorized_keys方法三,手动拷贝。也可以将本地id_rsa.pub文件的内容复制到远程服务器的~/.ssh/authorized_keys文件。先用cat命令查看当前公钥,然后复制粘贴到目标服务器。通过以上步骤,我们就完成了无密钥登录,下面我们来验证一下。至此,我们的ssh无密钥登录就完成了。下面给大家说说免密登录的原理。如果你有兴趣,你可以看看。先看示意图1.ssh客户端向ssh服务器发送连接请求。2.ssh服务器发送一条随机消息。3、ssh客户端使用本地私钥对服务器发送的信息进行加密。4.ssh客户端向服务器端发送加密信息。5、ssh服务器使用公钥解密信息。6.如果解密后的信息与之前发送的信息相匹配,则客户端可信,否则不可信。PS:如果觉得文章不错,请点赞转发,就是对我最大的支持。