这篇文章主要介绍了Linux操作系统操作系统下实现免密码登录的相关资料,非常不错,具有参考借鉴价值,感兴趣的朋友一起看看吧
1.Linux下生成密钥
ssh-keygen的命令手册,通过"男子宋承宪-keygen "命令:
通过命令" ssh-keygen -t rsa "
生成之后会在用户的根目录生成一个".ssh "的文件夹
进入".ssh "会生成以下几个文件
授权_密钥:存放远程免密登录的公钥,主要通过这个文件记录多台机器的公钥
id_rsa:生成的私钥文件
id_rsa.pub:生成的公钥文件
已知主机:已知的主机公钥清单
如果希望嘘公钥生效需满足至少下面两个条件:
1) .嘘目录的权限必须是700
2) .ssh/授权密钥文件权限必须是600
2.远程免密登录
原理图:
常用以下几种方法:
2.1 通过ssh-copy-id的方式
命令:ssh-copy-id -i ~/.ssh/id_rsa.put romte_ip
举例:
【root@test .ssh]# ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.91.135
根@192.168.91.135的密码:
现在,尝试使用“嘘”192。168 .91 .135""登录到机器,并签入:ssh/授权密钥
以确保我们没有添加您不期望的额外键。
【root@test .ssh]# ssh root@192.168.91.135
上次登录时间:2016年10月10日周一01:25:49从192.168.91.133开始
[root@localhost ~]#
常见错误:
[root@test ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.91.135
-bash: ssh-copy-id:找不到命令//提示命令不存在
解决办法:好吃安装openssh客户端
2.2 通过单细胞蛋白质将内容写到对方的文件中
命令:scp -p ~/.ssh/id _ RSA。pub root @ remote _ IP:/root/.ssh/授权密钥
举例:
【root@test .ssh]# scp -p ~/.ssh/id _ RSA。pub root @ 192。168 .91 .135:/root/.ssh/授权密钥
根@192.168.91.135的密码:
id _ RSA。发布100% 408 0.4 kb/秒00:00
【root@test .ssh]#
【root@test .ssh]#
【root@test .ssh]#
【root@test .ssh]# ssh root@192.168.91.135
上次登录时间:2016年10月10日周一01:27:02从192.168.91.133开始
[root@localhost ~]#
也可以分为两步操作:
$ scp ~/.ssh/id _ RSA。pub root @ remote _ IP:pub _ key//将文件拷贝至远程服务器
$ cat ~/pub_key ~/.ssh/authorized_keys //将内容追加到授权_密钥文件中,不过要登录远程服务器来执行这条命令
2.3 通过Ansible实现批量免密
2.3.1 将需要做免密操作的机器hosts添加到/etc/ansible/hosts下:
[避免靠近]
192.168.91.132
192.168.91.133
192.168.91.134
2.3.2 执行命令进行免密操作
ansi ble group name-m authorized _ key-a user=root key= { { lookup( file ,/root/.ssh/id_rsa.pub) }} -k
示例:
[root @ test ssh pass-1.05]# ansi ble test-m authorized _ key-a user=root key= { { lookup( file ,/root/.ssh/id_rsa.pub) }} -k
嘘密码:-输入密码
192.168.91.135 |成功
已更改:真,
key : ssh-RSA aaaaab 3n Zac 1 YC 2 eaaaabiwaaquearzi 4k xlyu 7j 1 nt 5 ueiptpwfgbjz 8 MB 02 ojhr 8 ygw 7 a 3 izwt 3/uhkk 7 rkagavbbalprp 5 bxp 3 i0 ynxa/apbqg 5 niq hyo 8 ycuigygsqagwzcbnl F3 GQ 1/18 b 6 Fv 5 moe/8 ytbfa 4 dbqahdtvp pejlsab 5 zog k8
key_options: null,
密钥文件":"/root/.ssh/authorized_keys ,
manage_dir: true,
path: null,
状态:存在,
unique: false,
用户:根
}
[root@test sshpass-1.05]#
2.4 手工复制粘贴的方式
将本地id_rsa.pub文件的内容拷贝至远程服务器的~/.ssh/授权密钥文件中
以上所述是小编给大家介绍的Linux操作系统操作系统下实现免密码登录,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!