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