Linux设置免密登录的几种方法(ssh-copy-id / ansible),ssh-copy-idansible


一. ssh-keygen -t rsa 生成公钥、私钥

authorized_keys:存放远程免密登录的公钥,主要通过这个文件记录多台机器的公钥
id_rsa : 生成的私钥文件
id_rsa.pub : 生成的公钥文件
know_hosts : 已知的主机公钥清单

网上说法是:如果希望ssh公钥生效需满足至少下面两个条件:
1 .ssh目录的权限必须是700
2 .ssh/authorized_keys文件权限必须是600
但是经过试验,发现并不是,我不管是用复制内容还是用ssh-copy-i,权限不同最后还是能直接免密登录。

二 .将公钥复制到远程服务器
1.通过scp将内容写到对方文件中
2.通过ssh-copy-id -i ~/.ssh/id_rsa.put <romte_ip>
也可以分为两步操作:
$ scp ~/.ssh/id_rsa.pub root@<remote_ip>:pub_key //将文件拷贝至远程服务器
$ cat ~/pub_key >>~/.ssh/authorized_keys //将内容追加到authorized_keys文件中, 不过要登录远程服务器来执行这条命令
3.通过ansible实现批量推送公钥
ansible -m authorized_key -a “user=root key=’{{ lookup(‘file’,’/root/.ssh/id_rsa.pub’) }}’” -k
例如:ansible weige -m authorized_key -a “user=root key=’{{ lookup(‘file’,’/root/.ssh/id_rsa.pub’) }}’”
4.手动复制粘贴(这样也太哈皮了)

https://www.jb51.net/article/94599.htm
https://www.cnblogs.com/amosli/p/6122908.html
http://blog.51cto.com/mageedu/1412028

相关内容

    暂无相关文章