linux配置 ssh 免密 登录

1:第一步给每一台电脑生成公私钥

    使用   在 root 目录下面 使用  ssh-keygen -t rsa ,然后不停敲回车。就可以生成公私钥。默认放在  .ssh 目录下面。

2:进入.ssh ,  使用  吧公钥 复制到 /root/.ssh/authorized_keys 文件里面

  cd /root/.ssh

  cp id_rsa.pub authorized_keys

3: 把每一台电脑的 授权文件都 复制到 其中一台(centos1)的 authorized_keys 文件里面

  ssh-copy-id -i centos1

4:  这时候 centos1 已经可以被其他任意机器连接了。 复制 cenos1 的 authorized_keys 文件到其他机器,所有的机子之间就可以相互免密 登录了。

  scp authorized_keys  root@centos2:/root/.ssh

备注:第4 步需要复制给所有机器。

备注: 使用 最好使用 centos1 是因为给主机取了名字(修改了 /ets/hosts),默认可以使用ip

备注2: 如果需要指定登陆用户  那么 就是  ssh ubuntu@centos1

备注:上面的对 root 用户有效。如果不是root 用户。比如 ubuntu 默认不允许 root 用户 登陆 。如果用  sudo   ssh-keygen -t rsa ,生成 的  .ssh 是 root  和 需要 高边 .ssh  和里面你的 文件的 所属用户和用户组。

  ubuntu 中 。你可以需要 sudo chown  -R ubuntu .ssh   和  sudo chgrp -R ubuntu .ssh。 实测,只要有权限就可以邓登陆的,并且直接复制到 /root/.ssh/authorized_keys 里面 ,即便没有设置root 密码也可以登陆。

原理猜想: 主机A生成一对公私钥, 吧公钥复制到 机子B的.ssh/authorized_keys 。 然后A 登陆 B的 时候 用私钥加密一段信息。如果  B 能用 .ssh/authorized_keys 里面的公钥组解密,那么就能登陆成功。

原文地址:https://www.cnblogs.com/cxygg/p/9602111.html