密码登录原理:
首先我们来看一下传统的ssh 密码登录的具体过程:
ssh密码登录原理图密钥登录原理:
ssh免密钥登陆详解2.jpgssh 免密登陆实战
实验说明:主机 70.244 / 70.245 / 70.246 三台机器
1.生成密钥
首先在每台执行 ssh-keygen -t rsa
生成之后会在用户的根目录生成一个 “.ssh”的文件夹
进入“.ssh”会生成以下几个文件
-rw------- 1 root root 1675 3月 14 04:12 id_rsa
-rw-r--r-- 1 root root 395 3月 14 04:12 id_rsa.pub
-rw-r--r--. 1 root root 6458 3月 2 23:10 known_hosts
- id_rsa : 生成的私钥文件
- id_rsa.pub : 生成的公钥文件
- know_hosts : 已知的主机公钥清单
- authorized_keys:存放远程免密登录的公钥,主要通过这个文件记录多台机器的
2.修改.ssh权限
chmod -R 700 .ssh
3.拷贝自己公钥(id_rsa.pub)至 其它台的 authorized_keys
其实这里可以直接cat ~/.ssh/id_rsa.pub内容至记事本上,然后手工粘贴到其它两台的authorized_keys文件中,但是linux提供了更为简单的命令如下:
ssh-copy-id -i ~/.ssh/id_rsa.pub user@<romte_ip>
我们在三台设备上分别执行如下命令:
注意一定不要忘记本身的ip地址,也要这个命令啊
在70.244上执行:
ssh-copy-id -i ~/.ssh/id_rsa.pub 10.0.70.244
ssh-copy-id -i ~/.ssh/id_rsa.pub 10.0.70.245
ssh-copy-id -i ~/.ssh/id_rsa.pub 10.0.70.246
在70.245上执行:
ssh-copy-id -i ~/.ssh/id_rsa.pub 10.0.70.244
ssh-copy-id -i ~/.ssh/id_rsa.pub 10.0.70.245
ssh-copy-id -i ~/.ssh/id_rsa.pub 10.0.70.246
在70.246上执行:
ssh-copy-id -i ~/.ssh/id_rsa.pub 10.0.70.244
ssh-copy-id -i ~/.ssh/id_rsa.pub 10.0.70.245
ssh-copy-id -i ~/.ssh/id_rsa.pub 10.0.70.246
4.常见错误说明:
-bash: ssh-copy-id: command not found //提示命令不存在
解决办法:
yum -y install openssh-clients
5.修改authorized_keys权限
chmod -R 600 ~/.ssh/authorized_keys
6.最后说明
如果希望ssh公钥生效需满足至少下面两个条件:
- .ssh目录的权限必须是700
- .ssh/authorized_keys文件权限必须是600
网友评论