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 里面的公钥组解密,那么就能登陆成功。
posted on 2018-09-07 00:33 zhangyukun 阅读(214) 评论(0) 编辑 收藏 举报