ssh远程登陆有两种授权机制:
1.通过主机用户名密码验证登录(密码验证)
需要用到的命令
#远程登录主机
[hadoop@master ~]$ ssh hadoop@slave1
#退出登录
[hadoop@slave1 ~]$ exit
2.通过密钥验证:
两台主机:A,B
ssh 远程登录的密钥授权机制:
1.生成公钥对
2.将A的公钥发送给B
3.将A的公钥加入到B的授权列表
实现过程
1.A发送登陆请求到B(携带登陆消息)
2.B会首先查看授权列表
3.B会加密一个随机字符,用A的公钥加密后给A
4.A会收到加密的密文,A用私钥去进行解密
5.将解密结果发送给B
6.B会比对解密结果是否正确,如果正确就授权给A
3.实现过程:
1.生成密钥:
ssh-keygen -t rsa
敲入四个回车
2.使用scp scp id_rsa.pub slave1:/home/hadoop
3.登陆到slave1上,新建touch authorized_keys。
4.然后进入ssh目录,使用追加命令到授权列表中:
#追加命令
cat ~/id_rsa.pub > authorized_keys
#查看结果
cat authorized_keys
#因为使用固定权限,所以需要修改:
chmod 600 authorized_keys