【linux】ssh免密登录

概要

服务器免密登录实际上是基于公钥的认证,比如希望A服务器可以免密访问B服务器,则需要进行如下步骤

  • A服务器生成密钥对
  • 将A服务器生成的公钥分发到B服务器(写入~/.ssh/authorized_keys)
  • A服务器即可免密登录B服务器

生成密钥对

使用ssh-keygen命令在客户端机器上创建密钥对

-t 代表指定密钥类型,密钥的类型有两种,一种是RSA,一种是DSA,默认rsa
也即命令可以不加 -t rsa 参数
命令执行过程中有三次确认,分别是存储位置、密码、确认密码,保持默认即可

ssh-keygen -t rsa

在这里插入图片描述
在这里插入图片描述

文件说明:

文件说明
id_rsa生成的私钥
id_rsa.pub生成的公钥
known_hostsssh访问过的服务器的公钥记录
authorized_keys授权过的登录该服务器公钥

分发公钥

分发密钥有两种方式:

ssh-copy-id

客户端服务器上使用ssh-copy-id将公钥分发到目标服务器上

当目标服务器ssh非22默认端口时,应通过-p参数指定端口
分发公钥时需要验证目标服务器的密码

ssh-copy-id -p 50022 centos7-hadoop-131

在这里插入图片描述
效果:
在这里插入图片描述

直接复制

复制客户端服务器的公钥到目标服务器对应用户目录下的.ssh文件夹下的authorized_keys文件(即~/.ssh/authorized_keys 文件)
此种方式需要注意.ssh文件夹和authorized_keys 文件的权限设置
.ssh 的权限需要为700
authorized_keys 的权限需要为600

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

注意事项

  1. ~/.ssh文件夹即文件权限不宜设置的过大或过小,一般的设置不成功也基本都是这个原因
  2. 妥善保管私钥,基于私钥可在任意一点(除非设置黑名单)完成免密登录
  3. 要登陆的目标服务器保管的是公钥,私钥应只存在需要登录的客户机使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值