linux实现免密登录

前言

有时我们在登录linux主机的时候不想要输入密码,就想要配置免密登录,本文就来看看如何实现这种配置。

前置知识

在linux每个用户的家目录下有个.ssh的隐藏文件,里面一般会有四个文件

authorized_keys: 存放远程免密登录的公钥,主要通过这个文件记录多台机器的公钥。

id_rsa: 生成的私钥文件

id_rsa.pub: 生成的公钥文件

known_hosts: 已知的主机公钥清单

如果将我们生成的公钥放到相应主机的对应用户的authorized_keys文件下,就可以实现免密登录。

具体步骤

1.在一台机器上生成公私钥对,生成公私钥对的命令是ssh-keygen

通过执行命令 ssh-keygen -t rsa 来生成我们需要的密钥。

可以看到在/root/.ssh/目录下生成了两个文件id_ras.pub id_rsa

2.接下来就需要将我们的公钥放到我们需要登录的机器上

进行相应的用户的家目录下,如root用户,是~/.ssh/目录,查看是否存在authorized_keys文件,如果没有创建一个,然后将id_ras.pub的内容复制过去

3.此时就可以在存在私钥的主机上通过ssh直接访问

到此,我们的 ssh 免密钥登录就大功告成。

额外知识

复制秘钥其实有三种方式:一是通过 ssh-copy-id 命令,二是通过 scp 命令,三是手工复制。上面我们使用的是手工复制。

方式一,通过 ssh-copy-id 命令设置。最后一个参数是我们要免密钥登录的服务器 ip 地址。

ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.1.100

方式二,通过 scp 命令直接将该文件远程复制过去,使用这种方式需要注意,如果你之前已经配置了其它服务器上的密钥,这是使用这种方法,就会覆盖掉你原来的密钥,这时候是不建议使用这种方式的,如果你是先将该文件复制到服务器上的一个目录下,然后在使用追加的方式,将密钥追加到 authorized_keys 也是完全 OK 的。如果你只有两台服务器也是可以直接复制到文件。

scp -p ~/.ssh/id_rsa.pub root@:/root/.ssh/authorized_keys

下面是我的微信公众号,每周会分享关于安全方面的各种知识,有兴趣的可以关注一下,谢谢大家。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值