ssh主机之间建立互信 --免密码
1 ssh之间如何免密码 互信任关系 ---原理是 公钥加密私钥解密(我要ssh你,你拥有公钥,我有私要可以解密)
实验 web1 (192.168.204.7)与 web2(192.168.204.9) 之间建立ssh 互信任关系
涉及命令 ssh-keygen 生成公钥和私钥
操作web1上
1 自动化命令
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
-t 指定类型
-P 指定密码
-f 指定文件
结果:
私钥保存至 id_rsa 公钥保存至 id_rsa.pub
[root@web1 ~]# ls .ssh/
id_rsa id_rsa.pub
2 安装公钥在远程主机上
ssh-copy-id [-i [identity_file]] [user@]machine
ssh-copy-id -i .ssh/id_rsa.pub root@192.168.204.9
结果: web2 上记录了 认证信息
[root@web2 ~]# cat .ssh/authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAlbP1N67oiA59fmNb7G3HVezISWn4yrwWEjPgh4zMLvhuhi3riG9Sa1UyNaY26+WmK3/hj7UMrZlCdEsbszh0ElGHcWsfc2U1gcFH5ga7qkbWhrXKDYgs3zvlAxNvqdcfSyP4fo3wiDRDdpHbhVkNGvpQ8TJA0Tp+zflM7SJpJdB2tHfNOxTeRHTRqJ3gO5FQOoWBWXJny7oACHvVrt8KbpkHTcu81re9Hlwf590Ue86tgwdxTU8QemNMZa1PGVktOHdnpZ4jeq7rYKysRH+QGqNcHKmUtFEIxguVCm+k+iLHApQRf6mUn+gJxYBQaBLH403IOD0fyP57vSu6Wfg+1w== root@web1
[root@web2 ~]# ls -l .ssh/authorized_keys
在web2 上操作同样的操作 即可实现互信
注意 一定要关闭selinux,本人就因为没关闭这个 排除了好久,头疼了好久才解决
注意: authorized_keys 一定要其他人没有w写得权限,不然ssh秘钥是不工作的,700 744 755 都可以只要其他人没有写的权限,最好是600