linux 配置ssh免密登录

配置A登录A

以下操作普通用户

1、准备
# 进入到家目录
cd 

# 查看是否有.ssh这个目录
ll -al 

# 如果没有ssh登录过其它主机,则就没有.ssh这个目录,执行以下命令生成.ssh目录。若有,步骤2、
ssh ip [如hadoop102,hadoop102是ip地址],然后输入yes->密码
2、然后进入.ssh目录
cd .ssh
ll -al
3、生成公私钥匙
ssh-keygen -t rsa
# 连续敲3次回车后会有以下内容
-rw-------. 1 ubuntu ubuntu 1675 221 15:31 id_rsa  # 自己的私钥
-rw-r--r--. 1 ubuntu ubuntu 397 221 15:31 id_rsa.pub  # 自己的公钥
4、执行以下操作
ssh-copy-id [hadoop102]  # 将自己的公钥拷贝给自己 
# 输入yes
# 输入密码
5、自己登录自己不需要密码了
ssh [hadoop102]
6、对.ssh目录下的所有内容做出解释
-rw-------. 1 ubuntu ubuntu 1152 221 15:36 authorized_keys  # 存放其他服务器登录自己,所需的公钥
-rw-------. 1 ubuntu ubuntu 1675 221 15:31 id_rsa  # 自己的私钥
-rw-r--r--. 1 ubuntu ubuntu 397 221 15:31 id_rsa.pub  # 自己的公钥
-rw-r--r--. 1 ubuntu ubuntu 177 221 15:25 known_hosts  # 存放登陆过其他服务器的记录
7、原理解释

假设A登录B

  1. B必须要有A的公钥,authorized_keys中存放着A的公钥
  2. A登录B时,会携带私钥
  3. B找到A的公钥后,B拿着A的公钥解密,A登录时发过来的私钥
  4. B解密后会生成相应公钥并返回给A
  5. A再拿自己的私钥解密B返回给自己的公钥
  6. 都匹配,则登录成功
8、3台机器间的免密登录

若有三台机器,hadoop102、hadoop103、hadoop104,它们之间需要配置免密登录

1)在hadoop102上,分别ssh-copy-id hadoop102、hadoop103、hadoop104
2)在hadoop103上,分别ssh-copy-id hadoop103、hadoop102、hadoop104
2)在hadoop104上,分别ssh-copy-id hadoop104、hadoop102、hadoop103

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值