公钥下发操作
场景:往往我们需要一台机器可以不需要密码就能直连其他机器,为了避免某台机器密码改了忘记密码不能登录,我们就使用公钥下发操作这样会很方便,下文写一下如何下发公钥。

主机名 IP 下发路径
master 192.168.1.18 /root/.ssh/authorized_keys
node1 192.168.1.19 /root/.ssh/authorized_keys
node2 192.168.1.20 /root/.ssh/authorized_keys
  • ssh-keygen是用来产生一对秘钥文件的。一个是私钥 id_rsa,一个是公钥id_rsa.pub,下发肯定是把公开的文件下发,所以应该是id_rsa.pub别搞错了。
[root@localhost ~]#ssh-keygen -t rsa   #生成一对秘钥文件 一般-t dsa | ecdsa | ed25519 | rsa | rsa1可以选择不同的加密类型,在不同操作系统类型中间可以选择不同形式
[root@localhost ~]# cd /root/.ssh/
[root@localhost .ssh]# ls
authorized_keys  id_rsa  id_rsa.pub  known_hosts  #这里产生了两个文件 id_rsa  id_rsa.pub
  • 下发是通过专用下发工具ssh-copy-id来下发
ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.1.19    #这里的/root/.ssh/id_rsa.pub就是自己主机master的公钥
ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.1.20
  • 下发完成后就可以直接在master上通过ssh root@192.168.1.19连接,不需要密码了。机试19或20改了root密码也不影响我们使用。这个常常用于被攻击后的持久访问,即使你改了密码也一样可以登录。
[root@localhost /]# ssh root@192.168.1.20
Last login: Thu Sep 30 00:11:58 2021 from 192.168.1.18
[root@localhost ~]#